implemented printers