Replaced six with future after discussion in issue #17
Replaced StringIO with BytesIO for Python 3