more work on learn_python. Also added some code that did not originally live in this repo