split worker method