completed core.js