print can be overriden