record generation