created setup.py and reworked every file so it will work when installed with pip