add more functionality and junit tests
fulfill first assignment