diff --git a/lcm/osm_common/dbmongo.py b/lcm/osm_common/dbmongo.py
index 6bc35a5..46e4dc8 100644
--- a/lcm/osm_common/dbmongo.py
+++ b/lcm/osm_common/dbmongo.py
@@ -167,12 +167,12 @@
         try:
             collection = self.db[table]
             rows = collection.update_one(self._format_filter(filter), {"$set": update_dict})
-            if rows.updated_count == 0:
+            if rows.matched_count == 0:
                 if fail_on_empty:
                     raise DbException("Not found any {} with filter='{}'".format(table[:-1], filter),
                                       HTTPStatus.NOT_FOUND)
                 return None
-            return {"deleted": rows.deleted_count}
+            return {"modified": rows.modified_count}
         except Exception as e:  # TODO refine
             raise DbException(str(e))
 
@@ -186,6 +186,6 @@
                     raise DbException("Not found any {} with filter='{}'".format(table[:-1], _filter),
                                       HTTPStatus.NOT_FOUND)
                 return None
-            return {"replace": rows.modified_count}
+            return {"replaced": rows.modified_count}
         except Exception as e:  # TODO refine
             raise DbException(str(e))
diff --git a/lcm/osm_common/msgkafka.py b/lcm/osm_common/msgkafka.py
index 459513d..de1e764 100644
--- a/lcm/osm_common/msgkafka.py
+++ b/lcm/osm_common/msgkafka.py
@@ -56,7 +56,7 @@
         except Exception as e:
             raise MsgException("Error reading {} topic: {}".format(topic, str(e)))
 
-    async def aiowrite(self, topic, key, msg, loop):
+    async def aiowrite(self, topic, key, msg, loop=None):
 
         if not loop:
             loop = self.loop
@@ -64,9 +64,9 @@
             self.producer = AIOKafkaProducer(loop=loop, key_serializer=str.encode, value_serializer=str.encode,
                                              bootstrap_servers=self.broker)
             await self.producer.start()
-            await self.producer.send(topic=topic, key=key, value=msg)
+            await self.producer.send(topic=topic, key=key, value=yaml.safe_dump(msg, default_flow_style=True))
         except Exception as e:
-            raise MsgException("Error publishing to {} topic: {}".format(topic, str(e)))
+            raise MsgException("Error publishing topic '{}', key '{}': {}".format(topic, key, e))
         finally:
             await self.producer.stop()
 
