try really hard to make the example code format correctly in nbviewer