UserSession implementation