proxy  interpreter  memento