add better errors, use button instead of form in admin