create rule interface