Refactored to use form's save method