gnu++ instead?