all working, except 2.js