Ne reason why the termination function should be writable
One extra argument for easy looping
Tweaking readme