added form builder and form validation