= refactored learning module