finished basic user model including secure passwords