added an authetication system for the user model