Implement Reverser

Resolves #24