use requirejs to manage dependencies between modules