use new ifdef system