Just about production ready, but crawler.py could always use some bugfixing