make queryIDProvider a singleton