added I/O capabilities