learned all about the precompiler