more subtle changes to Learner class