refactoring collect job