modifed the learner base