core.js is also needed here