A much nicer (though only Python v2) interface