refactor field wrapping