finish the user model