#21 and a start at some doctest