more progress. TODO: swap out requests for urllib2