added Require.js support