use integer for port numbers to avoid sign issues