updated to support new protocol