working on self-hosting the compiler