Updated so property "fieldName" is optional depending on type