refactor a User model by using form objects