diff --git a/README.rst b/README.rst
index addd1ef..cf50727 100644
--- a/README.rst
+++ b/README.rst
@@ -53,33 +53,36 @@
 
 
 Installation
-#############
+############
 
 Developers
-___________
+__________
 
 Clone the repository
 
-  git clone https://github.com/NOPping/gstack.git
+    $ git clone https://github.com/NOPping/gstack.git
 
 Install the package
 
-    python ./setup.py install
+    $ python ./setup.py install
 
 Users
 _____
 
 Users can grab the package from Pypi
 
-    pip install gstack
+    $ pip install gstack
 
 Configuration
 #############
 
 Before running `gstack` you must configure it. To do so run
 
-    gstack-configure
+    $ gstack-configure
 
+You can configure a profile of your choice with the optional ``-p`` flag
+
+    $ gstack-configure -p testprofile
 
 And enter your configuration information as prompted. 
 
@@ -93,8 +96,15 @@
 
 Start gstack:
 
-    gstack
+    $ gstack
 
+You can launch ``gstack`` using a configuration profile created earlier using the optional ``-p`` or ``--profile`` flag
+
+    $ gstack -p testprofile
+
+You can start ``gstack`` in debug mode using the optional ``-d`` or ``--debug`` flag
+
+    $ gstack -d True
 
 Create a cached parameters file for gcutil:
 
@@ -123,7 +133,7 @@
 gcutil will issue auth requests to the local Flask application, get an OAuth token and then issue requests to the CloudStack endpoint you specified when cofiguring gstack. 
 
 Usage
-######
+#####
 
 You can start issuing standard gcutil commands.
 
@@ -137,7 +147,7 @@
 ==================   ========  ====================
 
 Running The Tests
-##################
+#################
 
 To run the included tests the following software is required:
 
@@ -153,37 +163,37 @@
 
 These can be installed via the Python Package Index:
 
-   pip install pep8 pylint nose mock coverage
+   $ pip install pep8 pylint nose mock coverage
 
 Tests can be executed from the root of the code base as follows:
 
 Style Check
 ___________
 
-   pep8 --ignore=E501 *.py gstack
+   $ pep8 --ignore=E501 *.py gstack
 
 Lint
 ____
 
-   pylint --rcfile=pylint.rc *.py gstack
+   $ pylint --rcfile=pylint.rc *.py gstack
 
 Unit Tests
-___________
+__________
 
-   nosetests --with-coverage  --cover-erase --cover-package=gstack --cover-html
+   $ nosetests --with-coverage  --cover-erase --cover-package=gstack --cover-html
 
 A HTML base coverage report will be placed in ./cover
 
 Trouble shooting
-#################
+################
 
 CertificateHostnameMismatch
-____________________________
+___________________________
 
 - Ensure that the addresses you entered for ``authorization_uri_base``, ``api_host`` and ``auth_host_name`` are the exact same as the address you binded ``gstack`` to earlier when configuring with ``gstack-configure``.
 
 Authentication/authorization issues
-____________________________________
+___________________________________
 
 - Clean up your gcutil authentication information ``rm -rf ~/.gcutil_auth``.
 - Ensure that you set your ``client_id`` and ``client_secret`` in ``gcutil/lib/google_compute_engine/gcutil/auth_helper.py``.
@@ -191,7 +201,7 @@
 
 
 Apache CloudStack
-##################
+#################
 
 For more information about CloudStack check the official `<website http://cloudstack.apache.org>`_
 
diff --git a/gstack/__init__.py b/gstack/__init__.py
index 78dc81f..924a955 100644
--- a/gstack/__init__.py
+++ b/gstack/__init__.py
@@ -93,9 +93,7 @@
     else:
         args = _generate_args()
         profile = args.pop('profile')
-        ha = args.pop('debug')
-        print ha
-        app.config['DEBUG'] = ha
+        app.config['DEBUG'] = args.pop('debug')
         config_file = _load_config_file()
         database_uri = _load_database()
         _config_from_config_profile(config_file, profile)
diff --git a/gstack/controllers/operations.py b/gstack/controllers/operations.py
index 361c277..d29da54 100644
--- a/gstack/controllers/operations.py
+++ b/gstack/controllers/operations.py
@@ -92,7 +92,6 @@
             publickey=publickey_storage[projectid],
             instanceid=async_result['jobresult']['virtualmachine']['id']
         )
-    print populated_response
 
     return populated_response
 
