Complete rewrite with Requests