added class diagram and junit tests