Added reverse() and finish(). Started writing some tests.