Working Version(Passes all Junit tests)