support new protocol: arrays -> objects