add cached rule
more wip