added precompile code