add basic form functionality