Added some documentation, fixed Iinputoutput