Add strategy and Singleton patterns