finish sliptSubpart function