form handling improvements