split job implementation