More error checking, hidden field support