added require.js integration