use Set instead of Array to hold a set of deferred elements