work on print function