catch more form bugs, add a test