refactor and add content scraping