Adding Python 3 support