refactor invoice printer.  smaller methods