Basic User model (with password, email, and name validation)