Refactor to class; add md5 check on all downloaded files; add simple integration test