adding use strict and lots of variable hoisting