form is now created entirely in JS