implemented node io cache