compiler compatibility