Split Algorithm