cleaned up User model methods