finished user model with password