python 3.3 and 2.7 compatible