Design patterns by B.J. Heeren & S. Stuurman