many thanks to marbleman for catching a large number of errors i made because i am javascript coder not torqueshit coder