learnHelper refactored