cleaned up IO test method and added more comments
added more comments
slight change to IO test case
Cleaned up code; removed unnecessary local variables; added comments
Java doc for all interfaces, implementations and tests