refactored session
refactored