move code that operates on compiler to the compiler class this leaves the collection thin, very thin indeed