disentangled utilities from singletons