add a print function