new spider, and refactor
fix a bunch...