Printer improvements

hopefully this is enough to complete #117

any comments appreciated