Addedd IO and history, currently just mirroring input to output.