requirement is autorequired implicitly