refactoring: modularized spider classes