diff --git a/README.md b/README.md
index 60b2f22570029dffd84cd53586b98105c641f76f..b06c1059fdeb6eb5c9a42902efd0cb528ecabe3e 100644
--- a/README.md
+++ b/README.md
@@ -106,7 +106,7 @@ end
 ```
 hence, it just performs one iteration of
 ```math
-x' = Ax + Bu
+x' = Ax + Bu\\
 y  = Cx + Du
 ```
 
@@ -134,3 +134,13 @@ the system state by calling `init_sysfilter`. The variable `beam_system` is alre
 defined outside the type specification.
 One of the constructors provides a default value for the sample time, in case
 the user is unsure about a reasonable value.
+
+## Non-linear process
+Your first option is to linearize the process and proceed like above.
+Other options include
+1. Make `control` perform forward Euler, i.e., `x' = f(x,u)*h` for a general
+system model ``x' = f(x,u); y = g(x,u)`` and sample time ``h``.
+2. Integrate the system model using some fancy method like Runge-Kutta. See
+[DifferentialEquations.jl](http://docs.juliadiffeq.org/stable/types/discrete_types.html)
+for discrete-time solving of ODEs (don't be discuraged, this is almost as simple as
+forward Euler above).