refactor Base class to remove session