revamped the session classes to improve code quality and readability, tests refactored and passing.