constructors don't declare to throw an IOException anymore, as they didn't actually throw it anyway