add setup.py and re-organize files