a bunch of refactoring, added validation to new user, moved id field to front of Person class