finished basic User model (including secure passwords)