merge Compile methods into one compileExpr function and merge files