cleaned up User model