Restructured code, added setup.py