added generate session ability