refactor crawler