All those rules does the same thing, is there a way to factorize that ?