modified to work with python 2.7