add pattern of Singleton