IO update + IO unit tests