async implementation replaced with step in learn method
learn & analyse tested
Merge remote-tracking branch 'origin/master'