added: State, NullObject and Strategy design patterns;