put 2d stuff into its own file
find and each-while
more lispy semantics for if