adds functionality to build a form