reviewing abstraction of user.php