++ compatibility