fixing the datasource so it is more fault tolerant