hallidayResnick-2-3 interim commit - start of second major refactor - not working