field generation