diff --git a/src/imap/ngx_imap.c b/src/imap/ngx_imap.c
index 900dcb3..13855f1 100644
--- a/src/imap/ngx_imap.c
+++ b/src/imap/ngx_imap.c
@@ -2,6 +2,10 @@
 #include <ngx_config.h>
 #include <ngx_core.h>
 #include <ngx_event.h>
+#include <ngx_imap.h>
+
+
+static char *ngx_imap_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
 
 
 static ngx_command_t  ngx_imap_commands[] = {
@@ -30,5 +34,28 @@
     ngx_imap_commands,                     /* module directives */
     NGX_CORE_MODULE,                       /* module type */
     NULL,                                  /* init module */
-    NULL                                   /* init child */
+    NULL                                   /* init process */
 };
+
+
+static char *ngx_imap_block(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
+{
+    ngx_listening_t  *ls;
+
+    /* STUB */
+
+    ls = ngx_listening_inet_stream_socket(cf, 0, 8110);
+    if (ls == NULL) {
+        return NGX_CONF_ERROR;
+    }
+
+    ls->backlog = -1;
+    ls->handler = ngx_imap_init_connection;
+    ls->pool_size = 16384;
+    /* ls->post_accept_timeout = 0; */
+    ls->log = cf->cycle->new_log;
+
+    /* */
+
+    return NGX_CONF_OK;
+}
