add more tests for boundaries
not sure if i like it stylistically, but it is shorter
fix identation
Add some tests around terminating conditions
leverage that movement returns nil if out of bounds to shorten up traversal code