form-only functions