refactoring build form