splittet the worker part from the agent to Worker.pm