some ifdefs