Refactored decision tree support new algorithms