Add ability to the User model to handle multiple kind of users. #2