diff --git a/Config_Positioner.md b/Config_Positioner.md
index 0912d63..d5a4b10 100644
--- a/Config_Positioner.md
+++ b/Config_Positioner.md
@@ -372,9 +372,10 @@ This positioner type is the combination of multiple positioners to create a new
**functionCode**::
Integer value defines which transform to apply. Accepted values include:
- * 0: PolLux flexure stage for coarse XY stage (transforms between physical arcs and virtual linear moves).
+ * 0: PolLux flexure stage for coarse XY stage (transforms physical arcs into linear movements).
* 1: Rotated XY axes (doesn't affect Z-axis movements)
* 2: Rotated XYZ axes for laminography or in-plane XMCD measurements.
+ * 3: [Matrix transform](https://en.wikipedia.org/wiki/Transformation_matrix)
**Default**: 0
**axisNr**::
@@ -401,13 +402,12 @@ This positioner type is the combination of multiple positioners to create a new
**param3**::
**param4**::
**param5**::
- String value defines positioner names involved in the transform.
+ String value defines positioner names involved in the transform. The number of **param#** parameters that need to be declared depends on the number of axes involved and therefore the **functionCode** value. The first 2 parameters (3 for **functionCode**>=2) refer to the component positioners (i.e. inputs), and the last (latter 2 for **functionCode**>=2) refer to the complementary positioners (i.e. output positioners that give the other axes). It is possible to stack transforms such that a "transform" type positioner can be referred to as a base component (declared in one of the **param#** parameters) for another "transform" type positioner.
**Default**: empty string
**matrix**::
- Integer value defines ???.
- **Default**: empty string
-
+ Array of double values defines the transform matrix to be used when **functionCode**==3. The array should have a either 4 or 9 values.
+ **Default**: 0
## Galil