trying to figure out how this port thing works