merge worker run functions