sorting out the dynamic field generation