continue working on do_print