refactor session
refactor session