core.js and controllers