interface cleanup: decouple header files