refactor parser and crawler