retain rewritten