convert exprotoc to use structs