use six to help with compatibility issues