fixed setup.py and overall structure