updated user model and tests based on exercises