io module: remove header files, etc... refactored to final implementation