added more ifdefs