add ifdefs