2014-05-20 add Memento Pattern