Changed to Singleton and added raise