cache -> self