entirely new compiler