add ability to provide fields as an object