implement support for printing