modified 4.js