diff --git a/Config_Controller.md b/Config_Controller.md
index e3c8dc1..88b7adf 100644
--- a/Config_Controller.md
+++ b/Config_Controller.md
@@ -1,5 +1,5 @@
# Controller
-Definition of a set of hardware controllers.
+Definition of a set of hardware controllers. The file contains a JSON structure where each field name corresponds to the name of a controller (the names must be unique strings). These fields then contain a structure that defines the configuration parameters of the controller.
**type**::
String value that identifies which hardware interface will handle the controller behaviour. The set of allowed values is listed near the beginning of [`Controller.h`](https://gitlab.psi.ch/microspectro/pixelator/-/blob/master/PixelatorController/src/Controller.h#L19), for example:
@@ -10,31 +10,30 @@ Definition of a set of hardware controllers.
Integer value that defines if the controller should be used (value of 1) or ignored (value of 0).
**Default**: 0
+All further parameters are passed to the specific controller code without checking. Therefore, any default values or subtleties in usage will depend on the controller type.
+
**serverAddress**::
String value that defines the network address where the controller can be accessed. Used together with **serverPort**
- **Default**: ?
**serverPort**::
Integer value that defines the port over which the controller can be accessed. Used together with **serverAddress**
- **Default**: ?
+
**deviceName**::
String value that defines the filesystem path where the controller can be accessed.
- **Default**: ?
+
**timeout**::
Float value that defines the controller timeout.
- **Default**: ?
+
**loopName**::
String value that defines which Orchestra loop the controller is associated with.
- **Default**: ?
+
**nAxes**::
Integer value that defines the number of `axis` objects that the controller handles.
- **Default**: ?
+
**baudRate**::
Integer value that defines communication rate of the controller.
- **Default**: ?
-