refactored scraper