implements rule