associations worker refactored