a long way to Python 3 complience