record factory class fixed