refactor couchcrawler.py to separate modules