added new `required!` rule