support updating multiple files at once
support for preprocessor defines
how many manyears are wasted because of IEnumerable lazy eval?   many!