patch splitting