base I/O