set this up as a python package as well