worksplit implementation