changed structure, added prelim port io