added generate session