Creating initial java classes
added everything
added test cases, and made a singleton