A more sensible User model