add complete implementation of AdaBoost