improve ProtoParser