move scraping into component