Fix some bugs

Work remained:
1. the strategy of Split
2. the difference between "weight-id order" and "weight-end-begin-id
order"