added feature_selection
added next_optimal function