implement worklist-generation