compile now return ICompileResult