added printer.print method