try doing better things with the ports