Major rewrite of crawl code, not finished