remove private funtion in Rule