Made to be Python3 compatible, uses the six module for most of the help