add cross_val & learn_val