refactoring _form