add Singleton pattern.