Reworking worker

@myronmarston want to take a look? I know you're interested in the changes