this passed gcc without errors