namespace all
Add complex ifdef