Credits

Most of the code came from PEX for Python by Mo Cheng and Summer Gerry.