add base of the problem generator with pattern Singleton