add some comments on rewriting; rename Greedy to Lazy