wip - refactor out worker