a detailed post on $IO