FileIO has been rewriten, so it's more readable.