auto-flooring
wrote basic depth-first in Ruby