diff --git a/src/devices/src/virtio/block/queqe_handler.md b/src/devices/src/virtio/block/queqe_handler.md
new file mode 100644
index 0000000..4787ee9
--- /dev/null
+++ b/src/devices/src/virtio/block/queqe_handler.md
@@ -0,0 +1,9 @@
+Brief description of queue handlers
+init: initializing op as EventOps by adding event of a file descriptor, associated data and EVENTSET::IN
+process:
+ check valid events by matching following values:
+ 1. events.event\_set() == EventSet::IN
+ 2. events.data() == IOEVENT_DATA
+ 3. self.ioeventfd.read().is\_err()
+ 4. inorderhander process\_queue() is giving error
+ in case of not valid event, remove the event from op.
diff --git a/src/devices/src/virtio/net/queue-handler.md b/src/devices/src/virtio/net/queue-handler.md
new file mode 100644
index 0000000..e6d4d33
--- /dev/null
+++ b/src/devices/src/virtio/net/queue-handler.md
@@ -0,0 +1,9 @@
+Brief description of queue handlers
+init: initializing op as EventOps by adding event of a file descriptor, associated data and EVENTSET::IN except TAPFD may be EVENTSET::EDGE\_TRIGGERED
+process: check valid events by matching following values:
+ 1. events.event\_set() == EventSet::IN (| EVENTSET::EDGE\_TRIGGERED in case of TAPFD)
+ 2. events.data() == X\_DATA (X may be TAPFD, RX\_IOEVENT or TX\_IOEVENT)
+ 3. self.ioeventfd.read().is\_err()
+ 4. inorderhander process\_queue() is giving error (queue may be of tap, rx or tx)
+In case of not valid event, remove the event from op.
+handle\_error: remove all events from ops.