initial pass at scraper

closes #1