flexible I/O options