flexible I/O configuration