tightened the constraint for singletons