extern c changes