uses collection as a handle