Added new classes and Junit tests