add i/o port choice