add printing functions