generified port usage