diff --git a/src/client/components/facet_results/BarChartRace.js b/src/client/components/facet_results/BarChartRace.js
index 398f9ea61729a95f080cdea965b21e0471c38511..f57e5b46c000b92ca87fb61352913979fda65b7e 100644
--- a/src/client/components/facet_results/BarChartRace.js
+++ b/src/client/components/facet_results/BarChartRace.js
@@ -381,9 +381,9 @@ import Paper from '@material-ui/core/Paper'
 const stepDuration = 2000
 
 // let year = 2002
-const startYear = -940
+const startYear = 1410
 let year = startYear
-const yearIncrement = 20
+const yearIncrement = 10
 
 class BarChartRace extends React.Component {
     componentDidMount = () => {
@@ -397,10 +397,10 @@ class BarChartRace extends React.Component {
     componentDidUpdate = prevProps => {
       if (prevProps.resultUpdateID !== this.props.resultUpdateID) {
         // console.log(this.props.results)
-        // this.setInitialData()
         // this.sortCategoryAxis()
         // this.updateData()
         if (this.props.results && Object.prototype.hasOwnProperty.call(this.props.results, startYear)) {
+          // this.setInitialData()
           this.playAnimation()
         }
       }
@@ -523,61 +523,48 @@ class BarChartRace extends React.Component {
     }
 
     setInitialData = () => {
-      // const d = allData[year]
-      const d = this.props.results[year]
-      // console.log(d)
-
-      for (const n in d) {
-        this.series.data.push({ category: n, value: d[n] })
-        this.yAxis.data.push({ category: n })
+      const step = this.props.results[year]
+      for (const id in step) {
+        const { prefLabel, value } = step[id]
+        this.series.data.push({ category: prefLabel, value })
+        this.yAxis.data.push({ category: prefLabel })
       }
     }
 
     updateData = () => {
       // console.log(this.props.results['1410'])
       // console.log(this.series.dataItems)
-      let itemsWithNonZero = 0
       // if (allData[year]) {
       if (this.props.results[year]) {
         // console.log(year)
         this.label.set('text', year.toString())
-
+        // console.log(this.props.results[year])
         for (const [key, value] of Object.entries(this.props.results[year])) {
           // if (this.props.results[year - 10][key]) {
           //   value += this.props.results[year - 10][key]
           // }
-          let dataItem = this.getSeriesItem(key)
+          // console.log(key)
+          let dataItem = this.getSeriesItem(value.prefLabel)
           if (dataItem == null) {
-            this.series.data.push({ category: key, value })
-            this.yAxis.data.push({ category: key })
-            dataItem = this.getSeriesItem(key)
-            // console.log(year)
+            console.log(key)
+            this.series.data.push({ category: value.prefLabel, value: value.value })
+            this.yAxis.data.push({ category: value.prefLabel })
+            dataItem = this.getSeriesItem(value.prefLabel)
+            console.log(dataItem)
             // console.log(key)
           }
-          // console.log(dataItem)
-          if (value > 0) {
-            itemsWithNonZero++
-          }
           dataItem.animate({
             key: 'valueX',
-            to: dataItem.get('valueX') + value,
+            to: value.value,
             duration: stepDuration,
             easing: am5.ease.linear
           })
           dataItem.animate({
             key: 'valueXWorking',
-            to: dataItem.get('valueXWorking') + value,
+            to: value.value,
             duration: stepDuration,
             easing: am5.ease.linear
           })
-          dataItem.set({
-            key: 'valueX',
-            value
-          })
-          dataItem.set({
-            key: 'valueXWorking',
-            value
-          })
         }
 
         // am5.array.each(this.series.dataItems, dataItem => {
@@ -606,7 +593,7 @@ class BarChartRace extends React.Component {
         // })
 
         // console.log(itemsWithNonZero)
-        this.yAxis.zoom(0, itemsWithNonZero / this.yAxis.dataItems.length)
+        this.yAxis.zoom(0, this.yAxis.dataItems.length)
       }
     }
 
diff --git a/src/server/sparql/Mappers.js b/src/server/sparql/Mappers.js
index ff8e3c2c5d612886d7eccbb93b6337d8ecb2c539..c5bf1cf3d3067bbb72dad9f8c170d6249254c31b 100644
--- a/src/server/sparql/Mappers.js
+++ b/src/server/sparql/Mappers.js
@@ -1,4 +1,4 @@
-import { has } from 'lodash'
+import { has, cloneDeep } from 'lodash'
 import { getTreeFromFlatData } from '@nosferatu500/react-sortable-tree'
 
 export const mapPlaces = sparqlBindings => {
@@ -246,45 +246,27 @@ const recursiveSortAndSelectChildren = nodes => {
 
 export const toBarChartRaceFormat = ({ data, config }) => {
   const { step } = config
-  const firstItem = data[0]
+  const firstKey = parseInt(data[0].id)
+  const lastKey = parseInt(data[data.length - 1].id)
   const resultObj = {}
-  resultObj[firstItem.id] = dataItemToObject(firstItem.dataItem)
-  let mainIndex = firstItem.id
-
-  for (let i = 1; i < data.length; i++) {
-    const currentID = data[i].id
-    if (parseInt(currentID) === parseInt(mainIndex) + step) {
-      resultObj[currentID] = dataItemToObject(currentID.dataItem)
-      mainIndex = currentID
+  let rawDataIndex = 0
+  let lastNonNullIndex = null
+  for (let i = firstKey; i <= lastKey; i += step) {
+    const dataItemExists = parseInt(data[rawDataIndex].id) === i
+    if (dataItemExists) {
+      const currentDataItem = dataItemToObject(data[rawDataIndex].dataItem)
+      if (i === firstKey) {
+        resultObj[i] = currentDataItem
+      } else {
+        resultObj[i] = mergeDataItems(resultObj[lastNonNullIndex], currentDataItem)
+      }
+      lastNonNullIndex = i
+      rawDataIndex++
     } else {
-      resultObj[parseInt(mainIndex) + step] = null
+      resultObj[i] = null
     }
   }
-
-  console.log(resultObj)
-  return {}
-  // const object = data.reduce((obj, item) => {
-  //   if (Array.isArray(item.productionPlaceCountry)) {
-  //     const countries = item.productionPlaceCountry.reduce((obj, item) => {
-  //       return {
-  //         ...obj,
-  //         [item.prefLabel]: parseInt(item.manuscriptCount)
-  //       }
-  //     }, {})
-  //     return {
-  //       ...obj,
-  //       [item.id]: countries
-  //     }
-  //   } else {
-  //     return {
-  //       ...obj,
-  //       [item.id]: {
-  //         [item.productionPlaceCountry.prefLabel]: parseInt(item.productionPlaceCountry.manuscriptCount)
-  //       }
-  //     }
-  //   }
-  // }, {})
-  // return object
+  return resultObj
 }
 
 const dataItemToObject = dataItem => {
@@ -307,3 +289,17 @@ const dataItemToObject = dataItem => {
     }
   }
 }
+
+const mergeDataItems = (itemA, itemB) => {
+  const merged = cloneDeep(itemA)
+  const keys = Object.keys(itemB)
+  for (let i = 0; i < keys.length; i++) {
+    const itemBkey = keys[i]
+    if (Object.prototype.hasOwnProperty.call(itemA, itemBkey)) {
+      merged[itemBkey].value += itemB[itemBkey].value
+    } else {
+      merged[itemBkey] = itemB[itemBkey]
+    }
+  }
+  return merged
+}
diff --git a/src/server/sparql/SparqlApi.js b/src/server/sparql/SparqlApi.js
index e975c3258c7db6936690a75eccf3653ba318bf09..3e73ca4f78e0dff1793aaf2dfcafbd5e7f47ff28 100644
--- a/src/server/sparql/SparqlApi.js
+++ b/src/server/sparql/SparqlApi.js
@@ -59,7 +59,7 @@ export const runSelectQuery = async ({
       console.log(error.request)
     } else {
     // Something happened in setting up the request that triggered an Error
-      console.log('Error', error.message)
+      console.error(error)
     }
     // console.log(error.config)
     return {
diff --git a/src/server/sparql/sampo/sparql_queries/SparqlQueriesPerspective1.js b/src/server/sparql/sampo/sparql_queries/SparqlQueriesPerspective1.js
index 1445b88d8b150579c472bdd77c280805a2371c52..344f0ee2cac46bfff82cda22329248e20f53569c 100644
--- a/src/server/sparql/sampo/sparql_queries/SparqlQueriesPerspective1.js
+++ b/src/server/sparql/sampo/sparql_queries/SparqlQueriesPerspective1.js
@@ -548,6 +548,7 @@ export const productionsByDecadeAndCountryQuery = `
       # FILTER(?id < 1900)
       # FILTER(?id < -900)
       FILTER(?id > 1400 && ?id < 1440)
+      # FILTER(?id != 1420)
     }
   } 
   GROUP BY ?id ?dataItem__id ?dataItem__prefLabel