added userAuthentication and createUser