initial split algorithm