slight changes on I/O