basic User model and secure passwords