name the function and move it out so v8 can optimise it