improved demo project structure