add some comments to performLearning