finalize; adding recursion down fields