stack-based mandatory-pathing, dead-end avoiding, and corner-patterns
ignore emacs and my trash