basic user model including secure passwords