fix so we only create one data source