Add UserSession and tests