you should not print directly but use the IOInterface