working on experiment 5, better project structure with require.js and a module hierarchy