working on io cachiching module and simplifying code