implement communication protocol and library logic