use gnu99