saving work on rewriting IR compiler