builder for cstruct