refactor crawler into it's own file