goes thorugh all compile steps