more clarification about ifdef