avoid C compiler dependency