getting the house back in order after a large refactor to allow adapter subclasses