implement case splitting