diff --git a/README.md b/README.md
index 3d7270d..39f2211 100644
--- a/README.md
+++ b/README.md
@@ -53,11 +53,14 @@ The actions executed by the user on GUI elements are represented by transitions.
If an action has not been executed yet from a state, it leads to the so-called unknown state *s?*.
The unknown state is a special state from which all actions could be executed.
Whenever an action, which previously led to *s?*, is being executed and then leads to a newly discovered state, the NFA has to be updated.
+The same action might lead from one single state to different states since the states do not capture the whole program behavior.
+This makes the finite automaton nondeterministic.
-The NFA is based on the UI model from ["Search-Based System Testing: High Coverage, No False Alarms"](http://www.specmate.org/papers/2012-07-Search-basedSystemTesting-HighCoverageNoFalseAlarms.pdf) (section "4.5 UI Model"). Originally, it has been used together with a genetic algorithm for search-based system testing, where it served two purposes:
+The NFA is based on the UI model from ["Search-Based System Testing: High Coverage, No False Alarms"](http://www.specmate.org/papers/2012-07-Search-basedSystemTesting-HighCoverageNoFalseAlarms.pdf) (section "4.5 UI Model"). Originally, it has been used together with a genetic algorithm for search-based system testing, where it served three purposes:
1. Population initialization: to give precedence to unexplored actions.
-2. Mutation: to repair test cases.
+2. Mutation: to insert unexplored actions.
+3. Mutation: to repair test cases which became invalid by the mutation.
## Concurrency