almost working rebuilt compiler