added gui IOFactory, InputUnit & OutputUnit