rewriting the crawler