added Singleton scope handling