don't dynamically allocate the temporary fields array