diff --git a/culture-media.yaml b/culture-media.yaml
new file mode 100644
index 0000000..b5c81fd
--- /dev/null
+++ b/culture-media.yaml
@@ -0,0 +1,89 @@
+type: "overpass"
+query: 
+  15: |
+    (nwr[historic];nwr[tourism~'^(attraction|artwork)$'];nwr[heritage];)
+feature: 
+  pre: |
+    {% set color = 'red' %}
+    {% set str = 'No image, wikimedia_commons or wikidata' %}
+
+    {% if tags.wikidata %}
+      {% set color = 'blue' %}
+      {% set str = 'has wikidata tag' %}
+      {% set wikidata = tags.wikidata|wikidataEntity %}
+
+      {% if wikidata.claims.P31[0].mainsnak.datavalue.value.id in ['Q5'] %}
+        {% set color = 'magenta' %}
+        {% set str = "wikidata points to a human, should most likely be 'subject:wikidata'" %}
+      {% endif %}
+
+    {% elseif tags.wikimedia_commons or tags.image %}
+      {% set color = 'cyan' %}
+      {% set str = tags.wikimedia_commons ? 'has wikimedia_commons tag' : 'has image tag' %}
+
+    {% endif %}
+
+  body: |
+    {{ str }}
+
+  description: |
+    {% if tags.historic and tags.historic != 'yes' %}
+      {{ tagTransList('historic', tags.historic) }}
+      {% if tags.historic == 'memorial' and tags.memorial %}
+        ({{ tagTransList('memorial', tags.memorial) }})
+      {% endif %}
+    {% elseif tags.tourism %}
+      {{ tagTransList('tourism', tags.tourism) }}
+    {% elseif tags.heritage %}
+      {{ keyTrans('heritage') }}
+    {% endif %}
+  markerSymbol: "{{ markerPointer({ fillColor: color })|raw }}"
+  listMarkerSymbol: "{{ markerCircle({ fillColor: color })|raw }}"
+filter: 
+  type: 
+    name: "{{ trans('filter:type') }}"
+    show_default: "true"
+    query: "nwr[{{ value }}]"
+    type: "select"
+    key: "tourism"
+    values: |
+      <option value='tourism-artwork' query='nwr[tourism=artwork]'>{{ tagTrans('tourism', 'artwork') }}</option>
+      <option value='tourism-attraction' query='nwr[tourism=attraction]'>{{ tagTrans('tourism', 'attraction') }}</option>
+      <option value='historic-memorial' query='nwr[historic=memorial]'>{{ tagTrans('historic', 'memorial') }}</option>
+      <option value='historic-monument' query='nwr[historic=monument]'>{{ tagTrans('historic', 'monument') }}</option>
+      <option value='historic-wayside_cross' query='nwr[historic=wayside_cross]'>{{ tagTrans('historic', 'wayside_cross') }}</option>
+      <option value='historic-wayside_shrine' query='nwr[historic=wayside_shrine]'>{{ tagTrans('historic', 'wayside_shrine') }}</option>
+      <option value='historic-building' query='nwr[historic=building]'>{{ tagTrans('historic', 'building') }}</option>
+      <option value='historic-other' query='nwr[historic][historic!~"^(memorial|monument|wayside_cross|wayside_shrine|building)$"]'>{{ keyTrans('historic') }} {{ trans('other') }}</option>
+      <option value='heritage' query='nwr[heritage]'>{{ keyTrans('heritage') }}</option>
+    op: "has"
+info: |
+  <table>
+      <tr>
+        <td>
+          {{ markerCircle({ fillColor: 'red' })|raw }}
+        </td>
+        <td>No image, wikimedia_commons or wikidata</td>
+      </tr>
+      <tr>
+        <td>
+          {{ markerCircle({ fillColor: 'magenta' })|raw }}
+        </td>
+        <td>wikidata tag points to a human, should most likely be 'subject:wikidata'</td>
+      </tr>
+      <tr>
+        <td>
+          {{ markerCircle({ fillColor: 'cyan' })|raw }}
+        </td>
+        <td>image or wikimedia_commons tag but no wikidata</td>
+      </tr>
+      <tr>
+        <td>
+          {{ markerCircle({ fillColor: 'blue' })|raw }}
+        </td>
+        <td>has wikidata tag</td>
+      </tr>
+  </table>
+
+  This category lists artwork, memorials, historic and heritage protected objects. These should have an <a target="_blank" href="https://wiki.openstreetmap.org/wiki/Key:image">image</a> or <a target="_blank" href="https://wiki.openstreetmap.org/wiki/Key:wikimedia_commons">wikimedia_commons</a> tag, or (even better) a <a target="_blank" href="https://wiki.openstreetmap.org/wiki/Key:wikidata">wikidata</a> tag pointing to the object's entry.<br>
+  Memorials erroneously often have a wikidata (and wikipedia) tag of the person/event, which should be changed to <a target="_blank" href="https://wiki.openstreetmap.org/wiki/Key:wikidata#Secondary_Wikidata_links">subject:wikidata</a> resp. <a target="_blank" href="https://wiki.openstreetmap.org/wiki/Key:wikipedia#Secondary_Wikipedia_links">subject:wikipedia</a>".
diff --git a/fixme.yaml b/fixme.yaml
new file mode 100644
index 0000000..55d9e4b
--- /dev/null
+++ b/fixme.yaml
@@ -0,0 +1,213 @@
+type: overpass
+query:
+  14: nwr[~"^fixme(:.*|)$"~".",i]
+feature:
+  pre: |
+    {% set fixme = tags.fixme %}
+    {% set category = null %}
+
+    {% if not fixme %}
+      {% for k, v in tags %}
+        {% set m = k|matches('^fixme(:(.*))?$', 'i') %}
+        {% if m %}
+          {% set fixme = v %}
+          {% set category = m[2] %}
+        {% endif %}
+      {% endfor %}
+    {% endif %}
+
+    {% if not category %}
+      {% for k, d in const.fixme if d.match %}
+        {% if fixme|matches(d.match, 'i') %}
+          {% set category = k %}
+        {% endif %}
+      {% endfor %}
+    {% endif %}
+  details: |
+    {{ fixme }}
+  description: |
+    {% set found = false %}
+    {% for k in ['amenity', 'shop', 'telecom', 'waterway', 'craft', 'highway', 'railway', 'aerialway', 'emergency', 'geological', 'man_made', 'natural', 'office', 'power', 'aeroway', 'tourism', 'leisure', 'military', 'landuse', 'barrier', 'route'] if not found %}
+      {% if attribute(tags, k) and attribute(tags, k) != 'yes' %}
+        {{ tagTransList(k, attribute(tags, k)) }}
+        {% set found = true %}
+      {% endif %}
+    {% endfor %}
+    {% if found %}{# nothing #}
+    {% elseif tags.building and tags.building != 'yes' %}
+    {{ tagTransList('building', tags.building) }}
+    {% elseif tags.historic and tags.historic not in ['heritage', 'yes', 'building'] %}
+    {{ tagTransList('historic', tags.historic) }}
+    {% elseif tags.building == 'yes' or tags.historic == 'building' %}
+    {{ keyTrans('building') }}
+    {% elseif tags.boundary %}
+    {{ tagTrans('boundary', tags.boundary) }}
+    {% endif %}
+  body: |
+    {{ fixme == 'yes' ? keyTrans('fixme') : fixme }}
+  markerSymbol: |
+    {{ markerPointer({ fillColor: const.fixme[category].color|default('#f2756a') }) }}
+  listMarkerSymbol: |
+    {{ markerCircle({ fillColor: const.fixme[category].color|default('#f2756a') }) }}
+filter:
+  category:
+    name: Category
+    show_default: true
+    type: select
+    values: |
+      {% for k, d in const.fixme %}
+      <option value='{{ k }}' query='{{ d.query|default('nwr[~"fixme(:.*|)"~"' ~ d.match ~ '"') }},i]'>{{ tagTrans('fixme', k) }}</option>
+      {% endfor %}
+  type:
+    name: Type
+    show_default: true
+    type: select
+    values: |
+      {% for k, d in const.types %}
+      <option value='{{ k }}' query='{{ d.query }}'>{{ d.title|matches('^repo/') ? repoTrans(d.title|slice(5)) : trans(d.title) }}</option>
+      {% endfor %}
+info: |
+  <table>
+    <tr>
+      <td>{{ markerCircle({ fillColor: '#f2756a' }) }}</td>
+      <td>{{ trans('other') }}</td>
+    </tr>
+    {% for k, d in const.fixme %}
+    <tr>
+      <td>{{ markerCircle({ fillColor: d.color }) }}</td>
+      <td>{{ tagTrans('fixme', k) }}</td>
+    </tr>
+    {% endfor %}
+  </table>
+const:
+  fixme:
+    name:
+      match: 'name'
+      query: '(nwr[~"fixme:name"~".",i];nwr[~"fixme(:.*|)"~"name",i];)'
+      color: '#00b6a9'
+    incomplete:
+      match: '(continue|incomplete|unfinished)'
+      color: '#bb972f'
+    position:
+      match: '(position|location)'
+      color: '#71ab43'
+    addr:
+      match: 'addr'
+      query: '(nwr["fixme:addr"];nwr[fixme~"addr",i];)'
+      color: '#0070b6'
+    maxspeed:
+      match: 'maxspeed'
+      query: '(nwr["fixme:maxspeed"];nwr[fixme~"maxspeed",i];)'
+      color: '#a36af2'
+    resurvey:
+      match: 're-?survey'
+      color: '#00b647'
+    verify:
+      match: '(verify|recheck)'
+      color: '#eeb600'
+    import:
+      match: 'import'
+      color: '#a6b600'
+  types:
+    shops:
+      title: 'tag:shop'
+      query: 'nwr[shop]'
+    craft:
+      title: 'tag:craft'
+      query: 'nwr[craft]'
+    tourism:
+      title: 'tag:tourism'
+      query: 'nwr[tourism]'
+    roads:
+      title: 'tag:highway'
+      query: 'nwr[highway]'
+    gastro:
+      title: 'repo/category:gastro'
+      query: 'nwr[amenity~"^(bar|biergarten|cafe|fast_food|food_court|ice_cream|pub|restaurant)$"]'
+    agriculture:
+      title: 'repo/category:agriculture'
+      query: 'nwr[landuse~"^(allotments|farm|farmland|farmyard|greenhouse_horticulture|orchard|vineyard)$"]'
+    buildings:
+      title: 'repo/category:buildings'
+      query: '(nwr[building];nwr[entrance];)'
+    transport_car:
+      title: 'repo/category:transport_car'
+      query: 'nwr[amenity~"^(car_rental|car_sharing|car_wash|fuel|motorcycle_parking|parking)$"];'
+    children:
+      title: 'repo/category:children'
+      query: '(nwr[leisure~"^(playground|summer_camp|indoor_play)$"];nwr[shop~"^(baby_goods|toys)$"];nwr[changing_table];nwr[diaper];nwr[kids_area];nwr[playground];)'
+    sport:
+      title: 'tag:sport'
+      query: '(nwr[sport];nwr[climbing];nwr[highway~"^(via_ferrata)$"];nwr[leisure~"^(sports_.*)$"];)'
+    industrial:
+      title: 'tag:landuse=industrial'
+      query: '(nwr[landuse~"^(quarry|industrial)$"];nwr[man_made~"^(mineshaft|pipeline|goods_conveyor)$"];)'
+    power:
+      title: 'repo/category:electric_power'
+      query: '(nwr[power];relation[type=route][route=power];)'
+    communication:
+      title: 'repo/category:communication'
+      query: '(nwr[amenity~"^(post_office|internet_cafe|post_box|parcel_locker|telephone)$"];nwr[office~"^(telecommunication|it|newspaper|publisher|advertising_agency)$"];nwr[vending~"parcel"];)'
+    construction:
+      title: 'repo/category:construction'
+      query: '(nwr[~"."~"^(construction)$"];nwr[~"^construction:"~"."];)'
+    culture:
+      title: 'repo/category:culture'
+      query: '(nwr[amenity~"^(arts_centre|cinema|community_centre|fountain|studio|theatre)$"];nwr[tourism~"^(artwork|gallery|museum|theme_park)$"];nwr[amenity~"^(clock)$"];nwr[shop~"^(art)$"];)'
+    bicycle:
+      title: 'repo/category:transport_cycle'
+      query: '(nwr[amenity~"^(bicycle_.*|compressed_air|charging_station)$"];nwr[shop~"^(bicycle)$"];nwr["monitoring:bicycle"];nwr[vending~"^bicycle_"];relation[type=route][route~"^(|.*;)bicycle(|;.*)$"];)'
+    education:
+      title: 'repo/category:education'
+      query: '(nwr[amenity~"^(college|university|library|school|kindergarten|language_school|childcare|public_bookcase)$"];nwr[office~"^(educational_institution|research)$"];)'
+    emergency:
+      title: 'repo/category:emergency'
+      query: '(nwr[amenity~"^(fire_station|hospital|police)$"];nwr[emergency];nwr[highway~"^(emergency_access_point)$"];)'
+    financial:
+      title: 'repo/category:financial'
+      query: '(nwr[amenity~"^(bank|bureau_de_change|atm)$"];nwr[office~"^(financial|accountant|insurance|tax|tax_advisor)$"];)'
+    health:
+      title: 'repo/category:health'
+      query: '(nwr[amenity~"^(baby_hatch|clinic|dentist|doctors|hospital|nursing_home|pharmacy|social_facility|veterinary)$"];nwr[healthcare];)'
+    heritage:
+      title: 'repo/category:heritage'
+      query: 'nwr[heritage]'
+    walking:
+      title: 'repo/category:transport_walk'
+      query: '(nwr[amenity~"^(bench|shelter)$"];relation[type=route][route~"^(|.*;)hiking(|;.*)$"];nwr[highway~"^(footway|path|pedestrian|elevator|steps|crossing)$"];)'
+    historic:
+      title: 'tag:historic'
+      query: 'nwr[historic]'
+    law:
+      title: 'repo/category:law'
+      query: 'nwr[amenity~"^(courthouse)$"];nwr[office~"^(lawyer|notary)$"];)'
+    leisure:
+      title: 'tag:leisure'
+      query: 'nwr[leisure]'
+    memorial:
+      title: 'repo/category:memorial'
+      query: 'nwr[historic~"^(memorial|monument|wayside_(cross|shrine|chapel))$"]'
+    military:
+      title: 'repo/category:military'
+      query: '(nwr[military];nwr[landuse=military];)'
+    natural:
+      title: 'repo/category:natural'
+      query: '(nwr[natural];nwr[place~"^(island|islet)$"];)'
+    office:
+      title: 'repo/category:office'
+      query: 'nwr[office]'
+    places:
+      title: 'tag:place'
+      query: 'node[place]'
+    public:
+      title: 'repo/category:public'
+      query: '(nwr[amenity~"^(embassy|public_building|townhall|clock|drinking_water|recycling|toilets)$"];node[drinking_water];nwr[office~"^(government|administration)$"];)'
+    railway:
+      title: 'tag:railway'
+      query: '(nwr[railway];relation[type=route][route=railway];)'
+    religion:
+      title: 'tag:religion'
+      query: '(nwr[amenity~"^(place_of_worship|grave_yard|crematorium)$"];nwr[landuse~"^(cemetery)$"];nwr[historic~"wayside_(cross|shrine|chapel)$"];nwr[office~\"^(parish|religion)$\"];)'
+    landuse:
+      title: 'tag:landuse'
+      query: 'nwr[landuse]'
diff --git a/index.json b/index.json
index e2c2824..52cf771 100644
--- a/index.json
+++ b/index.json
@@ -391,6 +391,18 @@
                     "id": "xmas"
                 }
             ]
+        },
+        {
+            "id": "osm-qa",
+            "type": "index",
+            "subCategories": [
+                {
+                    "id": "fixme"
+                },
+                {
+                    "id": "culture-media"
+                }
+            ]
         }
     ]
 }
diff --git a/lang/en.json b/lang/en.json
index 1c34a2f..3a5fba8 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -22,6 +22,7 @@
     "category:craft": "Craft",
     "category:culture": "Culture",
     "category:culture_religion": "Culture and Religion",
+    "category:culture-media": "Culture Media/Wikidata",
     "category:cycle_amenities": "Amenities",
     "category:cycle_routes": "Cycle Routes",
     "category:developable_areas": "Developable Areas",
@@ -31,6 +32,7 @@
     "category:emergency": "Emergency Services",
     "category:energy": "Energy",
     "category:financial": "Financial",
+    "category:fixme": "Fix Me",
     "category:gastro": "Gastronomy",
     "category:gastro-smoking": "Smokefree Gastronomy",
     "category:health": "Health",
@@ -50,6 +52,7 @@
     "category:office": "Offices",
     "category:oil_gas": "Petroleum and natural gas",
     "category:organisations": "Organisations",
+    "category:osm-qa": "OpenStreetMap Quality Control",
     "category:other": "Other",
     "category:outdoor": "Outdoor activities",
     "category:phone": "Phone",