chore: fix grammar and spelling (#12)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 05d5ebe..c782533 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -21,7 +21,7 @@
 
 # Contributing to Apache OpenWhisk
 
-Anyone can contribute to the OpenWhisk project and we welcome your contributions.
+Anyone can contribute to the OpenWhisk project, and we welcome your contributions.
 
 There are multiple ways to contribute: report bugs, improve the docs, and
 contribute code, but you must follow these prerequisites and guidelines:
@@ -50,7 +50,7 @@
 list to see if your issue has already been raised.
 
 A good bug report is one that make it easy for us to understand what you were trying to do and what went wrong.
-Provide as much context as possible so we can try to recreate the issue.
+Provide as much context as possible, so we can try to recreate the issue.
 
 A good enhancement request comes with an explanation of what you are trying to do and how that enhancement would help you.
 
diff --git a/README.md b/README.md
index 2160d70..63fe31c 100644
--- a/README.md
+++ b/README.md
@@ -80,7 +80,7 @@
 implement the typical control-flow constructs of a sequential imperative
 programming language. This example composition composes three actions named
 `authenticate`, `success`, and `failure` using the `composer.when` combinator,
-which implements the usual conditional construct. It take three actions (or
+which implements the usual conditional construct. It takes three actions (or
 compositions) as parameters. It invokes the first one and, depending on the
 result of this invocation, invokes either the second or third action.
 
diff --git a/docs/COMBINATORS.md b/docs/COMBINATORS.md
index da881d6..8bc879d 100644
--- a/docs/COMBINATORS.md
+++ b/docs/COMBINATORS.md
@@ -113,7 +113,7 @@
 
 ## Function
 
-`composer.function(fun)` is a composition with a single Python function _fun_. It applies the specified function to the environment and the input parameter object for the composition.
+`composer.function(fun)` is a composition with a single Python function _fun_. It applies the specified function to the environment, and the input parameter object for the composition.
  - If the function returns a value of type `function`, the composition returns an error object.
  - If the function throws an exception, the composition returns an error object. The exception is logged as part of the conductor action invocation.
  - If the function returns a value of type other than function, the value is first converted to a string using `str` followed by `json.loads`. If the resulting JSON value is not a JSON dictionary, the JSON value is then wrapped into a `{ value }` dictionary. The composition returns the final JSON dictionary. (**Not supported yet**)
@@ -301,7 +301,7 @@
 
 `composer.retain(body)` runs _body_ on the input parameter object producing an object with two fields `params` and `result` such that `params` is the input parameter object of the composition and `result` is the output parameter object of _body_.
 
-If _body_ fails, the output of the `retain` combinator is only the error object (i.e., the input parameter object is not preserved). In constrast, the `retain_catch` combinator always outputs `{ params, result }`, even if `result` is an error result.
+If _body_ fails, the output of the `retain` combinator is only the error object (i.e., the input parameter object is not preserved). In contrast, the `retain_catch` combinator always outputs `{ params, result }`, even if `result` is an error result.
 
 
 ## Merge
diff --git a/src/pycompose/__main__.py b/src/pycompose/__main__.py
index af18bb2..9bbed3e 100644
--- a/src/pycompose/__main__.py
+++ b/src/pycompose/__main__.py
@@ -22,7 +22,7 @@
 import composer
 
 def main():
-    parser = argparse.ArgumentParser(description='comppile compositions', prog='pycompose', usage='%(prog)s composition.py command [flags]')
+    parser = argparse.ArgumentParser(description='compile compositions', prog='pycompose', usage='%(prog)s composition.py command [flags]')
     parser.add_argument('file', metavar='composition', type=str, help='the composition')
     parser.add_argument('-v', '--version', action='version', version='%(prog)s '+ composer.__version__)
     parser.add_argument('--ast', action='store_true', help='output ast')