implemented SingletonPattern.java