refactored session().