added Singleton interface