Feature/ipynb - add ipython support

There is a lot left to do here, but it is an improvement on what is currently in place.