new protocol buffers framework