refactor session result