diff --git a/coolamqp/handler.py b/coolamqp/handler.py
index b6cb3c7a22648953d4fa302033acb64f8a67b441..4bd88f5c11964ff709f4443c22d9554953497bf8 100644
--- a/coolamqp/handler.py
+++ b/coolamqp/handler.py
@@ -49,7 +49,7 @@ class ClusterHandlerThread(threading.Thread):
             try:
                 self.backend = self.cluster.backend(node, self)
 
-                for exchange in self.declared_exchanges:
+                for exchange in self.declared_exchanges.itervalues():
                     self.backend.exchange_declare(exchange)
 
                 for queue in self.queues_by_consumer_tags.itervalues():
@@ -97,9 +97,11 @@ class ClusterHandlerThread(threading.Thread):
                             self.backend.basic_publish(order.message, order.exchange, order.routing_key)
                         elif isinstance(order, DeclareExchange):
                             self.backend.exchange_declare(order.exchange)
-                            self.declared_exchanges.append(order.exchange)
+                            self.declared_exchanges[order.exchange.name] = order.exchange
                         elif isinstance(order, DeleteExchange):
                             self.backend.exchange_delete(order.exchange)
+                            if order.exchange.name in self.declared_exchanges:
+                                del self.declared_exchanges[order.exchange.name]
                         elif isinstance(order, DeleteQueue):
                             self.backend.queue_delete(order.queue)
                         elif isinstance(order, ConsumeQueue):
diff --git a/coolamqp/messages.py b/coolamqp/messages.py
index 2bc0e2647d564bd79d4d512c381ca83241659d80..9579485b49beba731afeec68720c574ecfe2cf5f 100644
--- a/coolamqp/messages.py
+++ b/coolamqp/messages.py
@@ -1,5 +1,6 @@
 import uuid
 
+
 class Message(object):
     """AMQP message object"""
 
@@ -14,13 +15,10 @@ class Message(object):
 
 
 class ReceivedMessage(Message):
-    """
-    Message as received from AMQP system
-    """
+    """Message as received from AMQP system"""
 
     def __init__(self, body, cht, connect_id, exchange_name, routing_key, properties={}, delivery_tag=None):
         """
-
         :param body: message body. A stream of octets.
         :param cht: parent ClusterHandlerThread that emitted this message
         :param connect_id: connection ID. ClusterHandlerThread will check this in order
diff --git a/setup.py b/setup.py
index a33ce82588ffeaa721123ef618befc6ac706c4a0..42a0b4e524088dee18e4ca085299f15264a1ba87 100644
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,7 @@
 from distutils.core import setup
 
 setup(name='CoolAMQP',
-      version='0.1',
+      version='0.1rc0',
       description='The AMQP client library',
       author=u'Piotr Maślanka',
       author_email='piotrm@smok.co',