pull from codegen project, externalizing records class