some features
some structure changes
setup.py added
new folder structure implemented