reverse() implemented, but I think I can make the algorithm more efficient. It's currently n^2, I think a linear solution is possible.