added IPrintable