progress on jsbestpractices2