refactored most of the history / favorite code to now be "bookkeeping". this now uses a common struct to hold the required paths and the record type (to open up future work for emus).