add gbm, small changes to knn