added a simple communications protocol