Implemented cluster splitting, seems to work