infield refactor to use preamble