preparing to use google protocolbuffers instead of json