refactored to one field_info call per item