feature split correct, add private preserving solver