refactoring worklist controller