using Six for Python 2 and 3 compatibility