TODO support both Python 2 and Python 3 remove sub module, use pip dependencies on git repo instead complete test suite