rework header files while maintaining backward compatability