add support for arbitrary form markup