singleton per thread adaptations