Add new modular IO interface and its file implementation