first form code
this knows all form info now
first version working, needs styling a lot