re-worked how port works to make it play nice with chdl-symbol