resolve circular #include
suppress warnings