updated device to handle missing port