#1 final move
#5 Closure Compiler implementation