feat: add rule constructors using configuration