Continuing refactor, reducing specifics