added decision tree constructor