more refactoring, goal object created, moved invalid input methods