tasks / worker refactored