added untested communication protocol