Basic rules implementation