diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -60,6 +60,25 @@
     lens >=4.0.1           =>   lens >=4.0.1 && <4.2
     lens                   =>   lens >=4.1.2 && <4.2
 
+Options
+=======
+
+You can restrict the modification to certain sections in the cabal file by specifing the type and the name of the section:
+* `--library`
+* `--executable=name`
+* `--testsuite=name`
+* `--benchmark=name`
+
+If you omit these options, then all sections are considered and modified.
+
+You can also restrict the modification of dependencies by specifing which dependencies should only or shouldn't be modified:
+* `--only=name`
+* `--ignore=name`
+
+If you omit these options, then all dependencies are considered and modified.
+
+Please consult `cabal-bounds --help` for a complete list of options.
+
 Installation
 ============
 
@@ -72,36 +91,6 @@
     $> cabal install --constraint="Cabal == 1.18.1" cabal-bounds
 
 If you update the `cabal` binary and the used `Cabal` library changes, then you have to rebuild `cabal-bounds`.
-
-Command Line Usage
-==================
-
-    $> cabal-bounds [COMMAND] ... [OPTIONS]
-      A command line program for managing the bounds/versions of the dependencies
-      in a cabal file.
-    
-    Common flags:
-      -l --library               Only the bounds of the library are modified.
-      -e --executable=ITEM       Only the bounds of the executable are modified.
-      -t --testsuite=ITEM        Only the bounds of the test suite are modified.
-      -b --benchmark=ITEM        Only the bounds of the benchmark are modified.
-      -O --only=ITEM             Only the bounds of the dependency are modified.
-      -I --ignore=ITEM           This dependency is ignored, not modified in any
-                                 way.
-      -o --outputCabalFile=ITEM  Save modified cabal file to file, if empty, the
-                                 cabal file is modified inplace.
-      -h --help                  Display help message
-      -v --version               Print version information
-    
-    cabal-bounds drop [OPTIONS] CABAL-FILE
-    
-      -U --upper                 Only the upper bound is dropped, otherwise both
-                                 - the lower and upper - bounds are dropped.
-    
-    cabal-bounds update [OPTIONS] CABAL-FILE SETUP-CONFIG-FILE
-    
-      -L --lower                 Only the lower bound is updated.
-      -U --upper                 Only the upper bound is updated.
 
 Issues
 ======
diff --git a/cabal-bounds.cabal b/cabal-bounds.cabal
--- a/cabal-bounds.cabal
+++ b/cabal-bounds.cabal
@@ -1,5 +1,5 @@
 name: cabal-bounds
-version: 0.1.10
+version: 0.1.11
 cabal-version: >=1.9.2
 build-type: Simple
 license: BSD3
@@ -77,34 +77,29 @@
              .
              If you update the 'cabal' binary and the used 'Cabal' library changes, then you have to rebuild 'cabal-bounds'.
              .
-             /Command Line Usage/
+             /Options/
              .
-             > $> cabal-bounds [COMMAND] ... [OPTIONS]
-             >   A command line program for managing the bounds/versions of the dependencies
-             >   in a cabal file.
-             > 
-             > Common flags:
-             >   -l --library               Only the bounds of the library are modified.
-             >   -e --executable=ITEM       Only the bounds of the executable are modified.
-             >   -t --testsuite=ITEM        Only the bounds of the test suite are modified.
-             >   -b --benchmark=ITEM        Only the bounds of the benchmark are modified.
-             >   -O --only=ITEM             Only the bounds of the dependency are modified.
-             >   -I --ignore=ITEM           This dependency is ignored, not modified in any
-             >                              way.
-             >   -o --outputCabalFile=ITEM  Save modified cabal file to file, if empty, the
-             >                              cabal file is modified inplace.
-             >   -h --help                  Display help message
-             >   -v --version               Print version information
-             > 
-             > cabal-bounds drop [OPTIONS] CABAL-FILE
-             > 
-             >   -U --upper                 Only the upper bound is dropped, otherwise both
-             >                              - the lower and upper - bounds are dropped.
-             > 
-             > cabal-bounds update [OPTIONS] CABAL-FILE SETUP-CONFIG-FILE
-             > 
-             >   -L --lower                 Only the lower bound is updated.
-             >   -U --upper                 Only the upper bound is updated.
+             You can restrict the modification to certain sections in the cabal file by specifing the type and the name of the section:
+             .
+             * --library
+             .
+             * --executable=name
+             .
+             * --testsuite=name
+             .
+             * --benchmark=name
+             .
+             If you omit these options, then all sections are considered and modified.
+             .
+             You can also restrict the modification of dependencies by specifing which dependencies should only or shouldn't be modified:
+             .
+             * --only=name
+             .
+             * --ignore=name
+             .
+             If you omit these options, then all dependencies are considered and modified.
+             .
+             Please consult 'cabal-bounds --help' for a complete list of options.
              .
              /Issues/
              .
diff --git a/src/CabalBounds/Args.hs b/src/CabalBounds/Args.hs
--- a/src/CabalBounds/Args.hs
+++ b/src/CabalBounds/Args.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE DeriveDataTypeable, CPP #-}
+{-# OPTIONS_GHC -w #-}
 
 module CabalBounds.Args
    ( Args(..)
@@ -91,12 +92,12 @@
 dropArgs = Drop
    { upper           = def &= explicit &= name "upper" &= name "U" &= help "Only the upper bound is dropped, otherwise both - the lower and upper - bounds are dropped."
    , library         = def &= explicit &= name "library" &= name "l" &= help "Only the bounds of the library are modified."
-   , executable      = def &= help "Only the bounds of the executable are modified."
-   , testSuite       = def &= help "Only the bounds of the test suite are modified."
-   , benchmark       = def &= help "Only the bounds of the benchmark are modified."
-   , only            = def &= explicit &= name "only" &= name "O" &= help "Only the bounds of the dependency are modified."
-   , ignore          = def &= explicit &= name "ignore" &= name "I" &= help "This dependency is ignored, not modified in any way."
-   , outputCabalFile = def &= explicit &= name "outputCabalFile" &= name "o" &= help "Save modified cabal file to file, if empty, the cabal file is modified inplace."
+   , executable      = def &= typ "EXECUTABLE" &= help "Only the bounds of the executable are modified."
+   , testSuite       = def &= typ "TESTSUITE" &= help "Only the bounds of the test suite are modified."
+   , benchmark       = def &= typ "BENCHMARK" &= help "Only the bounds of the benchmark are modified."
+   , only            = def &= explicit &= typ "DEPENDENCY" &= name "only" &= name "O" &= help "Only the bounds of the dependency are modified."
+   , ignore          = def &= explicit &= typ "DEPENDENCY" &= name "ignore" &= name "I" &= help "This dependency is ignored, not modified in any way."
+   , outputCabalFile = def &= explicit &= typ "FILE" &= name "outputCabalFile" &= name "o" &= help "Save modified cabal file to file, if empty, the cabal file is modified inplace."
    , cabalFile       = def &= argPos 0 &= typ "CABAL-FILE"
    }
 
@@ -105,14 +106,6 @@
 updateArgs = Update
    { lower           = def &= explicit &= name "lower" &= name "L" &= help "Only the lower bound is updated."
    , upper           = def &= explicit &= name "upper" &= name "U" &= help "Only the upper bound is updated."
-   , library         = def &= explicit &= name "library" &= name "l" &= help "Only the bounds of the library are modified."
-   , executable      = def &= help "Only the bounds of the executable are modified."
-   , testSuite       = def &= help "Only the bounds of the test suite are modified."
-   , benchmark       = def &= help "Only the bounds of the benchmark are modified."
-   , only            = def &= explicit &= name "only" &= name "O" &= help "Only the bounds of the dependency are modified."
-   , ignore          = def &= explicit &= name "ignore" &= name "I" &= help "This dependency is ignored, not modified in any way."
-   , outputCabalFile = def &= explicit &= name "outputCabalFile" &= name "o" &= help "Save modified cabal file to file, if empty, the cabal file is modified inplace."
-   , cabalFile       = def &= argPos 0 &= typ "CABAL-FILE"
    , setupConfigFile = def &= argPos 1 &= typ "SETUP-CONFIG-FILE"
    }
 
