ignore virtualenv
Updated to python 3, refactored slightly