New compiler using variables to handle versions