basic user model complete with password