'final' version of IO