added session constructor