Support both Python 2.x and 3.x