added abstract spider class