fix split bug, add multi-range feature