add session handling