add Singleton
change access modifier