converted data source to singleton