better method naming, increased testing for user model