Adaptive learner