setup.py added and restructured accordingly