Initial version of IOD module, all unit test are passing with good coverage.