added support for a URL as a file argument instead of a local file, now depends on requests- also compacted the imports