works in python 3.3