finish io node gui part