progress, header files, and refactoring of compatibility layer