Sometimes it really pays to rewrite some code though generally it's not a good idea to rewrite too much at one time. It's satisfying if the new code is more structured, more easily extensible, supports more features, is faster and needs less memory. I like that.