diff --git a/README b/README
index 71b530b75c5a31f3e1d15d7ed6fef1a1a2a4c694..540bebc8f8646628a439d7dac702932c0a7cf3cc 100644
--- a/README
+++ b/README
@@ -24,10 +24,19 @@ that exist in the src/sieve-bin/ directory:
 
 --
 
-sievec <sieve-file>
+sievec [-d] <sieve-file> <out-file>
 
-Compiles the script and produces various dumps of intermittent compilation 
-results. This already works pretty good for all supported features.
+Compiles the script and produces a sieve binary. However, when the -d option is
+provided a code dump is written to the output file. When the output file is '-'
+the dump output is written to stdout (only if -d is specified). 
+
+--
+
+sieved <bin-file> [<dump-file>]
+
+Reads a sieve binary and produces a code dump. The optional dump-file parameter
+provides the means to specify a file to which the dump is to be written. 
+Otherwise, the dump is printed to stdout. 
 
 -- 
 
@@ -74,33 +83,34 @@ What works:
 * Scripts can be parsed, the grammar is fully supported. 
 * Script validation (contextual analysis) works almost completely. Outgoing mail 
   addresses are not verified yet as required. 
-* Script code generation works for most core commands. Comparators, match-types 
-  and address-part modifiers already work.
-* Interpreter runs and dumps core commands and tests. Comparators, match-types 
-  and address-part modifiers have the desired effect. Most test commands work as 
+* Script code generation works for all core commands. Comparators, match-types 
+  and address-part modifiers work as required.
+* Interpreter runs core commands and tests. Comparators, match-types and 
+	address-part modifiers have the desired effect. Most test commands work as 
   specified (see list below).
 * The interpreter produces a result containing a set of actions to execute.
-  Duplicate actions can now be avoided and conflicts can be detected. 
-* Execution is now also supported for all core commands.  
-* This sieve implementation is available as an alternative plugin to dovecot's 
-  deliver. Hopefully this will soon be able to replace the current cmusieve 
-  implementation.
+  Duplicate actions can be avoided and conflicts can be detected. 
+* Execution of the result is supported for all core action commands and all
+  fully implemented extensions (see list below).  
+* This sieve implementation is now available as an alternative plugin to  
+  dovecot's deliver. It is not completely useful yet, but hopefully this will 
+  soon be able to replace the current cmusieve implementation.
 
 Base tests and their implementation status:
-	false, true: trivial, full
-	address: full
-	header: full 
-	exists: full
-	size: full 	
-	not, anyof, allof: full
+  false, true: trivial, full
+  address: full
+  header: full 
+  exists: full
+  size: full 	 
+  not, anyof, allof: full
 
 Base commands and their implementation status:
-	require: full
-	if,elsif,else: full
-	discard: full
-	keep: full
-	redirect: full
-	stop: trivial, full
+  require: full
+  if,elsif,else: full
+  discard: full
+  keep: full
+  redirect: full 
+  stop: trivial, full
 	
 Extensions and their implementation status:
 
@@ -114,11 +124,11 @@ Extensions and their implementation status:
     subaddress: full
     comparator-i;ascii-numeric: full
     relational: full 
+    copy: full
     regex: full, but suboptimal
     vacation: almost complete; no support for required References header
     imapflags: flag management works, but flags are not stored 
-    copy: full
-    include: skeleton (* first leave out variables support)  
+    include: basic functionality: validation, and included scripts are compiled
     variables: planned (* also amend previously implemented extensions)
     body: planned                        
     notify: planned (- lowest priority)
@@ -163,7 +173,17 @@ RESULT: sieve-result.c sieve-actions.c
   everything succeeds or everything fails. This is only possible to some extent:
   transmitted responses can of course not be rolled back. However, these are 
   executed in the commit phase, meaning that they will only be performed if all
-  other actions were successful. 
+  other actions were successful.
+  
+Debugging:
+
+CODE-DUMPER: sieve-code-dumper.c
+	A loaded binary can be dumped to a stream in human-readable form using the 
+	code-dumper. It's implementation is similar to the interpreter, with the 
+	exception that it performs no actions and just sequentially wanders through 
+	the byte code printing instructions along the way. The term human-readable is 
+	a bit optimistic though; currently the presented data looks like an assembly
+	language. 
 
 TODO
 ----