implement user creation and user sessions