session, refactor.