added #ifdef