added print function