added Singleton Lazy Initiation