completed modules.js