Edited and fix to use on Python 2.7 and 3.4