cleaned up user model methods