added print protocol