convert to ICode