python 2 and 3 compatible now