since reset() can throw an IOE, maybe it should be in the try block as well?