progresses on optimize split