Restructure app layout and add setup.py