diff --git a/README.md b/README.md
index 487bd6cd7a0439e739cc12c8a3be25ee34142f36..b0b601ed251842ca3d189e805b20427df1ddd84d 100644
--- a/README.md
+++ b/README.md
@@ -140,20 +140,28 @@ round-trip min/avg/max = 12.829/17.062/19.346 ms
 
 Before you can run a obfsvpn server container you need to make sure to set the following environment variables which are required in the [start script](./images/obfsvpn/scripts/start_obfsvpn.sh).
 
-| Variable |    Purpose     | Example |
-|:--------:|:--------------:|:--------:|
-| `CONTROL_PORT` | port of the [Control Plane](/control/README.md)  | 9090 |
-| `OBFSVPN_STATE` | directory of private and public key, certifcate, bridgeline file | ./test_data |
-| `OBFSVPN_LOCATION` | location of the OpenVPN gateway the bridge is pointing to | amsterdam |
-| `OBFS4_IP` | public IP of the bridge | 123.231.123.21 |
-| `OBFS4_PORT` | port the bridge is listening on  | 4430 |
-| `OBFS4_HOST` | The IP obfsvpn server is gets assigned to | 0.0.0.0 |
-| `OPENVPN_HOST` | public IP of the OpenVPN gateway the bridge is pointing to | 231.123.231.12 |
-| `OPENVPN_PORT` | port | 80 |
-| `OBFS4_DATA_DIR` | same as `OBFSVPN_STATE`  | ./test_data |
-| `HOP_PT` | run server in hopping pt mode  | 1 if true |
-| `KCP` | run server in KCP transport mode  | 1 if true |
-| `TCP` | run server in w/ tcp as the protocol the server accepts for proxying traffic  | 1 if true |
+| Variable |    Purpose     | Example | Comment |
+|:--------:|:--------------:|:--------:|:---------------:|
+| `CONTROL_PORT` | port of the [Control Plane](/control/README.md)  | 9090 | required |
+| `OBFSVPN_STATE` | directory of private and public key, certifcate, bridgeline file | ./test_data | required |
+| `OBFSVPN_LOCATION` | location of the OpenVPN gateway the bridge is pointing to | amsterdam | required |
+| `OBFS4_IP` | public IP of the bridge | 123.231.123.21 | required |
+| `OBFS4_PORT` | port the bridge is listening on  | 4430 | required |
+| `OBFS4_HOST` | The IP obfsvpn server is gets assigned to | 0.0.0.0 | required |
+| `OPENVPN_HOST` | public IP of the OpenVPN gateway the bridge is pointing to | 231.123.231.12 | required |
+| `OPENVPN_PORT` | port | 80 | required |
+| `OBFS4_DATA_DIR` | same as `OBFSVPN_STATE`  | ./test_data | required |
+| `OBFSVPN_SEED` | seed to deduce randomized ports from for port hopping | 1 | optional (default 1) |
+| `OBFSVPN_PORT_COUNT` | number of ports to be used for port hopping | 100 | optional (default 100) |
+| `OBFSVPN_MIN_HOP_PORT`| lower limit of port range to use for port hopping | 9095 | optional (default 49152) |
+| `OBFSVPN_MAX_HOP_PORT` | upper limit of port range to use for port hopping | 12095 | optional (default 65535) |
+| `HOP_PT` | run server in hopping pt mode  | 1 if true | optional (default 0) |
+| `KCP` | run server in KCP transport mode  | 1 if true | optional (default 0) |
+| `TCP` | run server in w/ tcp as the protocol the server accepts for proxying traffic  | 1 if true | optional (default 1) |
+| `QUIC` | run server in QUIC transport mode | 1 if true | optional (default 0)|
+| `QUIC_TLS_CERT` | TLS cert used for QUIC transport encryption | ./test_data/pki/private/ca.crt | required for QUIC |
+| `QUIC_TLS_KEY` | TLS private key used for QUIC transport encryption | ./test_data/pki/private/ca.key | required for QUIC |
+
 
 ### Integration testing
 
@@ -178,6 +186,8 @@ And finally to test KCP:
 $ ./scripts/integration-test.sh kcp
 ```
 
+You can test other modes with the parameters: `hop-kcp`, `quic`, `hop-quic`.
+
 ### Running components separately/against live systems
 
 There may be scenarios when you'd prefer to run individual components on their own or targeting live systems.
@@ -198,7 +208,7 @@ Usage of /tmp/go-build901008461/b001/exe/client:
         The remote obfs4 certificates separated by commas. If hopping is not enabled only the first cert will be used
   -h    Connect with openvpn over udp in hopping mode
   -i string
-        The host for the local proxy (default: localhost) (default "127.0.0.1")
+        The host for the local proxy (default "127.0.0.1")
   -j uint
         A random range to wait (on top of the minimum) seconds before hopping. Only applicable to hopping (default 5)
   -kcp
@@ -223,12 +233,18 @@ Usage of /tmp/go-build901008461/b001/exe/client:
         KCP WriteBuffer (default 16777216)
   -m uint
         The minimun number of seconds to wait before hopping. Only applicable to hopping (default 5)
+  -max-port uint
+        The upper limit of the port range used for port hopping (default 65507)
+  -min-port uint
+        The lower limit of the port range used for port hopping (default 49152)
   -p string
-        The port for the local proxy (default: 8080) (default "8080")
+        The port for the local proxy (default "8080")
   -pc uint
         The number of ports to try for each remote. Only applicable to hopping (default 100)
   -ps int
         The random seed to generate ports from. Only applicable to hopping (default 1)
+  -quic
+        Enable QUIC mode
   -r string
         The remote obfs4 endpoint ips (no port) separated by commas. If hopping is not enabled only the first cert will be used
   -rp string