updated recursiveFieldNames to really deal with non-scalar structures. not sure this will end up being worth it...