workers refactored