new form and some fix