learning require