fully use the power of require.js by using shims and paths