diff --git a/src/client/components/NavTabs.js b/src/client/components/NavTabs.js
deleted file mode 100644
index 7a0f03619c38d1c436f86a7154467302e76322ee..0000000000000000000000000000000000000000
--- a/src/client/components/NavTabs.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import React from 'react';
-import PropTypes from 'prop-types';
-import Tabs from '@material-ui/core/Tabs';
-import Tab from '@material-ui/core/Tab';
-
-const NavTabs = (props) => {
-  const handleChange = (event, value) => {
-    props.updateResultFormat(value);
-  };
-  // <Tab value="migrationMap" label="migrations" />
-  return (
-    <Tabs value={props.resultFormat} onChange={handleChange}>
-      <Tab value="table" label="Table" />
-      <Tab value="creationPlaces" label="creation places" />
-      <Tab value="migrations" label="migrations" />
-      <Tab value="statistics" label="Statistics" />
-    </Tabs>
-  );
-};
-
-NavTabs.propTypes = {
-  resultFormat: PropTypes.string.isRequired,
-  updateResultFormat: PropTypes.func.isRequired
-};
-
-export default NavTabs;
diff --git a/src/client/components/Pie.js b/src/client/components/Pie.js
index da1579256d542ced0fea863b0cb11d276c7715c9..2469d6e87967957139b665b0b2a43d584c2fba4e 100644
--- a/src/client/components/Pie.js
+++ b/src/client/components/Pie.js
@@ -64,7 +64,7 @@ const combineSmallGroups = (dataArray) => {
 class Pie extends React.Component {
 
   componentDidMount = () => {
-    this.props.fetchPlaces('creationPlaces');
+    this.props.fetchPlaces('productionPlaces');
   }
 
   render() {
@@ -98,7 +98,7 @@ class Pie extends React.Component {
     const legendArray = dataArray.map(group => ({ name: group.x + ' (' + group.y + ')' }));
     const legendHeigth = legendArray.length * 33;
 
-    const pieTitle = placeLinks + ' creation place links in total';
+    const pieTitle = placeLinks + ' production place links in total';
 
     return (
       <div className={classes.root}>
@@ -124,7 +124,7 @@ class Pie extends React.Component {
             <Paper className={classes.legendPaper}>
               <VictoryLegend
                 height={legendHeigth}
-                title={'Creation place (manuscript count)'}
+                title={'Production place (manuscript count)'}
                 colorScale={'qualitative'}
                 data={legendArray}
                 style={{
diff --git a/src/client/components/ResultTableHead.js b/src/client/components/ResultTableHead.js
index 48810a76b077796f273c82b7a4eb1b1ed2d4d5f9..640d2ad240d2dfed948a520b2c8a1aecc3845dcb 100644
--- a/src/client/components/ResultTableHead.js
+++ b/src/client/components/ResultTableHead.js
@@ -76,7 +76,7 @@ class ResultTableHead extends React.Component {
   state = {
     rowsPerPage: 5,
     order: 'asc',
-    orderBy: 'creationPlace',
+    orderBy: 'productionPlace',
   };
 
   handleChangePage = (event, page) => {
diff --git a/src/client/components/Tree.js b/src/client/components/Tree.js
index f61196cb0a882eaf7a81a4b0ec7a87b9f3f739aa..6a38b2f655f72f7cdcc4ea8cb97bfedcc3d09816 100644
--- a/src/client/components/Tree.js
+++ b/src/client/components/Tree.js
@@ -55,7 +55,7 @@ class Tree extends Component {
     });
     this.setState({ treeData: newTreeData });
     this.props.updateFilter({
-      property: 'creationPlace',
+      property: 'productionPlace',
       value: treeObj.node.id
     });
   };
diff --git a/src/client/components/VirtualizedTable.js b/src/client/components/VirtualizedTable.js
deleted file mode 100644
index 9862ebaedcfe7a5b3884c00c3547c13a8a37bc0b..0000000000000000000000000000000000000000
--- a/src/client/components/VirtualizedTable.js
+++ /dev/null
@@ -1,283 +0,0 @@
-import React from 'react';
-import Immutable from 'immutable';
-import PropTypes from 'prop-types';
-import Grid from '@material-ui/core/Grid';
-import { withStyles } from '@material-ui/core/styles';
-// import ResultFilterDialogSingle from './ResultFilterDialogSingle';
-// import IconButton from '@material-ui/core/IconButton';
-// import PlaceIcon from '@material-ui/icons/Place';
-import {
-  AutoSizer,
-  CellMeasurer,
-  CellMeasurerCache,
-  Column,
-  Table,
-  //SortIndicator
-} from 'react-virtualized';
-
-// https://github.com/bvaughn/react-virtualized/issues/650
-// https://github.com/bvaughn/react-virtualized/blob/master/docs/usingAutoSizer.md
-
-const styles = () => ({
-  root: {
-    display: 'flex',
-    height: '100%',
-    flexGrow: 1,
-  },
-  container: {
-    height: '100%',
-    width: '100%',
-    flexDirection: 'column',
-  },
-  tableColumn: {
-    padding: '5px 15px 5px 0'
-  },
-  valueList: {
-    marginTop: 0,
-    marginBottom: 0,
-    paddingLeft: 15
-  }
-});
-
-const tableStyles = {
-  tableRoot: {
-    fontFamily: 'Roboto',
-  },
-  headerRow: {
-    textTransform: 'none',
-    borderBottom: '1px solid rgba(224, 224, 224, 1)'
-  },
-  tableRow: {
-    borderBottom: '1px solid rgba(224, 224, 224, 1)'
-  },
-};
-
-class VirtualizedTable extends React.PureComponent {
-
-  constructor(props) {
-    super(props);
-  }
-
-  cache = new CellMeasurerCache({
-    fixedWidth: true,
-    minHeight: 40,
-  });
-
-  columnCellRenderer = ({dataKey, parent, rowIndex}) => {
-    const {list} = this.props;
-    const rowData = list.get(rowIndex % list.size);
-    const cellData = rowData[dataKey];
-    let cellContent = '';
-    let columnIndex = 0;
-    if (cellData == null | cellData === '-') {
-      cellContent = '-';
-    } else {
-      switch(dataKey) {
-        case 'prefLabel':
-          cellContent = this.stringListRenderer(cellData);
-          columnIndex = 0;
-          break;
-        case 'author':
-          cellContent = this.objectListRenderer(cellData);
-          columnIndex = 1;
-          break;
-        case 'creationPlace':
-          cellContent = this.objectListRenderer(cellData);
-          columnIndex = 2;
-          break;
-        case 'timespan':
-          cellContent = this.stringListRenderer(cellData);
-          columnIndex = 3;
-          break;
-      }
-    }
-    return (
-      <CellMeasurer
-        cache={this.cache}
-        columnIndex={columnIndex}
-        key={dataKey}
-        parent={parent}
-        rowIndex={rowIndex}>
-        <div
-          className={this.props.classes.tableColumn}
-          style={{
-            whiteSpace: 'normal',
-          }}>
-          {cellContent}
-        </div>
-      </CellMeasurer>
-    );
-  };
-
-  idRenderer = ({dataKey, rowIndex}) => {
-    const {list} = this.props;
-    const rowData = list.get(rowIndex % list.size);
-    let cellData = rowData[dataKey];
-    cellData = cellData.replace('http://ldf.fi/mmm/manifestation_singleton/', '');
-    let sdbmUrl = '';
-    let id = '';
-    if (rowData.manuscriptRecord == '-') {
-      id = cellData.replace('orphan_', '');
-      sdbmUrl = 'https://sdbm.library.upenn.edu/entries/' + id;
-    } else {
-      id = cellData;
-      sdbmUrl = rowData.manuscriptRecord;
-    }
-    id = id.replace('part_', '');
-    return (
-      <div className={this.props.classes.tableColumn}>
-        <a target='_blank' rel='noopener noreferrer' href={sdbmUrl}>{id}</a>
-      </div>
-    );
-  };
-
-  objectListRenderer = (cellData) => {
-    if (cellData.length < 2) {
-      const item = cellData[0];
-      return (
-        <a
-          target='_blank' rel='noopener noreferrer'
-          href={'https://sdbm.library.upenn.edu/' + item.sdbmType + '/' + item.id}
-        >
-          {item.prefLabel}
-        </a>
-      );
-    } else {
-      return (
-        <ul className={this.props.classes.valueList}>
-          {cellData.map((item, i) =>
-            <li key={i}>
-              <a
-                target='_blank' rel='noopener noreferrer'
-                href={'https://sdbm.library.upenn.edu/' + item.sdbmType + '/' + item.id}
-              >
-                {item.prefLabel}
-              </a>
-            </li>
-          )}
-        </ul>
-      );
-    }
-  };
-
-  stringListRenderer = (cellData) => {
-    if (cellData.length < 2) {
-      return <span>{cellData[0]}</span>;
-    } else {
-      return (
-        <ul className={this.props.classes.valueList}>
-          {cellData.map((item, i) => <li key={i}>{item}</li>)}
-        </ul>
-      );
-    }
-
-  };
-
-  rowGetter = ({index}) => this.getDatum(this.props.list, index);
-
-  getDatum = (list, index) => {
-    return list.get(index % list.size);
-  }
-
-  calculateRowStyle = ({ index }) => {
-    if (index < 0) {
-      return tableStyles.headerRow;
-    } else {
-      return tableStyles.tableRow;
-    }
-  };
-
-  onResize = () => {
-    this.cache.clearAll();
-  }
-
-  render() {
-    const { classes } = this.props;
-
-    return (
-      <div className={classes.root}>
-        <Grid container className={classes.container}>
-          <div className={classes.resultsInfo}>
-          </div>
-          {this.props.list.size > 0 &&
-            <div style={{ flex: '1 1 auto' }}>
-              <AutoSizer
-                onResize={this.onResize}
-              >
-                {({ height, width }) => (
-                  <Table
-                    deferredMeasurementCache={this.cache}
-                    rowHeight={this.cache.rowHeight}
-                    overscanRowCount={10}
-                    rowClassName={'tableRow'}
-                    rowGetter={this.rowGetter}
-                    rowCount={this.props.list.size}
-                    sortDirection={this.props.search.sortDirection.toUpperCase()}
-                    width={width}
-                    height={height}
-                    headerHeight={50}
-                    style={tableStyles.tableRoot}
-                    rowStyle={this.calculateRowStyle}
-                  >
-                    <Column
-                      label="ID"
-                      dataKey="id"
-                      cellRenderer={this.idRenderer}
-                      minWidth={70}
-                      width={70}
-                    />
-                    <Column
-                      label="Title"
-                      dataKey="prefLabel"
-                      cellRenderer={this.columnCellRenderer}
-                      width={400}
-                    />
-                    <Column
-                      label="Author"
-                      dataKey="author"
-                      cellRenderer={this.columnCellRenderer}
-                      width={400}
-                    />
-                    <Column
-                      label="Creation place"
-                      dataKey="creationPlace"
-                      cellRenderer={this.columnCellRenderer}
-                      width={400}
-                    />
-                    <Column
-                      label="Creation date"
-                      dataKey="timespan"
-                      cellRenderer={this.columnCellRenderer}
-                      width={400}
-                    />
-                  </Table>
-                )}
-              </AutoSizer>
-            </div>
-          }
-        </Grid>
-      </div>
-    );
-  }
-}
-
-VirtualizedTable.propTypes = {
-  classes: PropTypes.object.isRequired,
-  list: PropTypes.instanceOf(Immutable.List).isRequired,
-  search: PropTypes.object.isRequired,
-  manuscriptsPropertyValues: PropTypes.object.isRequired,
-  sortResults: PropTypes.func.isRequired,
-  updateResultsFilter: PropTypes.func.isRequired,
-  updateQuery: PropTypes.func.isRequired,
-  fetchSuggestions: PropTypes.func.isRequired,
-  clearSuggestions: PropTypes.func.isRequired,
-  fetchManuscripts: PropTypes.func.isRequired,
-  fetchPlaces: PropTypes.func.isRequired,
-  clearManuscripts: PropTypes.func.isRequired,
-  clearPlaces: PropTypes.func.isRequired,
-  bounceMarker: PropTypes.func.isRequired,
-  openMarkerPopup: PropTypes.func.isRequired,
-  removeTempMarker: PropTypes.func.isRequired,
-};
-
-export default withStyles(styles)(VirtualizedTable);
diff --git a/src/client/reducers/facet.js b/src/client/reducers/facet.js
index 427c3425123a4ba9f848e051bfc872e97f73eb05..bcc6f3d0675ce76bdfd3e6e213837d169b2c447d 100644
--- a/src/client/reducers/facet.js
+++ b/src/client/reducers/facet.js
@@ -8,25 +8,25 @@ import {
 
 export const INITIAL_STATE = {
   facetOptions : {
-    creationPlace: {
-      id: 'creationPlace',
-      label: 'Creation place',
-      predicate: '^frbroo:R18_created/crm:P7_took_place_at',
+    productionPlace: {
+      id: 'productionPlace',
+      label: 'Production place',
+      predicate: '(^frbroo:R18_created|^crm:P108_has_produced)/crm:P7_took_place_at',
       hierarchical: true,
     },
     author: {
       id: 'author',
       label: 'Author',
-      predicate: '^frbroo:R18_created/crm:P14_carried_out_by',
+      predicate: '(^frbroo:R18_created|^crm:P108_has_produced)/crm:P14_carried_out_by',
       hierarchical: false
     }
   },
   facetValues : {
-    creationPlace: [],
+    productionPlace: [],
     author: []
   },
   facetFilters: {
-    creationPlace: new Set(),
+    productionPlace: new Set(),
     author: new Set(),
   },
   fetchingFacet : false,
diff --git a/src/server/sparql/Datasets.js b/src/server/sparql/Datasets.js
index f00b483d2f787f5bf0c6ffbb21249434d28d8750..ecf488c560e1f456098bf5faa39ec377c37597a0 100644
--- a/src/server/sparql/Datasets.js
+++ b/src/server/sparql/Datasets.js
@@ -174,6 +174,7 @@ module.exports = {
       WHERE {
         # https://github.com/uber/deck.gl/blob/master/docs/layers/arc-layer.md
         ?manuscript__id ^frbroo:R18_created/crm:P7_took_place_at ?from__id .
+
         ?manuscript__id mmm-schema:data_provider_url ?manuscript__url .
         ?from__id skos:prefLabel ?from__name .
         ?from__id wgs84:lat ?from__lat ;
@@ -246,7 +247,8 @@ module.exports = {
                   ?id a frbroo:F4_Manifestation_Singleton .
                   <FILTER>
                   ?id <PREDICATE> ?value .
-                  OPTIONAL { ?value mmm-schema:parent ?parent }
+                  OPTIONAL { ?value crm:P89_falls_within ?parent }
+                  ?value dct:source mmm-schema:Bodley .
                 }
                 GROUP BY ?value ?parent
               }
diff --git a/src/server/sparql/Manuscripts.js b/src/server/sparql/Manuscripts.js
index c0447f5dc58f93d4d456097056ba0dde4db03219..00dbe4827b43b1c710e614fbbfbbe7f5d5dadf33 100644
--- a/src/server/sparql/Manuscripts.js
+++ b/src/server/sparql/Manuscripts.js
@@ -10,16 +10,18 @@ import { makeObjectList } from './SparqlObjectMapper';
 const sparqlSearchEngine = new SparqlSearchEngine();
 
 const facetConfigs = {
-  creationPlace: {
-    id: 'creationPlace',
+  productionPlace: {
+    id: 'productionPlace',
+    label: 'Production place',
     predicate: '^frbroo:R18_created/crm:P7_took_place_at',
     hierarchical: true,
   },
-  author: {
-    id: 'author',
-    predicate: '^frbroo:R18_created/mmm-schema:carried_out_by_as_author',
-    hierarchical: false,
-  }
+  // author: {
+  //   id: 'author',
+  //   label: 'Author',
+  //   predicate: '(^frbroo:R18_created|^crm:P108_has_produced)/crm:P14_carried_out_by',
+  //   hierarchical: false
+  // }
 };
 
 export const getManuscripts = (page, pagesize, filters) => {
@@ -91,6 +93,7 @@ const getFacet = (facetConfig, filters) => {
     facetQuery = facetQuery.replace('<FILTER>', generateFacetFilter(facetConfig, filters));
   }
   facetQuery = facetQuery.replace('<PREDICATE>', facetConfig.predicate);
+  console.log(facetQuery)
   let mapper = facetConfig.hierarchical ? mapHierarchicalFacet : mapFacet;
   return sparqlSearchEngine.doSearch(facetQuery, endpoint, mapper);
 };