almost works, need to handle HTTPError