update learner