generalisation of datasource