Clean up

Fixed some bugs, added a reverse function so you can go backwards