diff --git a/Readme.md b/Readme.md
index 278fe0c..15171e4 100644
--- a/Readme.md
+++ b/Readme.md
@@ -21,3 +21,174 @@ First let’s create a `package.json` manifest file that describes our project.
"dependencies": {}
}
```
+
+**CAUTION
+The "name" property must be unique, you cannot use a value like "socket.io" or "express", because npm will complain when installing the dependency.**
+
+Now, in order to easily populate the dependencies property with the things we need, we’ll use `npm install`:
+```
+npm install express@4
+```
+
+Once it's installed we can create an `index.js` file that will set up our application.
+
+```java
+const express = require('express');
+const app = express();
+const http = require('http');
+const server = http.createServer(app);
+
+app.get('/', (req, res) => {
+ res.send('
Hello world
');
+});
+
+server.listen(3000, () => {
+ console.log('listening on *:3000');
+});
+```
+
+This means that:
+
+- Express initializes app to be a function handler that you can supply to an HTTP server (as seen in line 4).
+- We define a route handler / that gets called when we hit our website home.
+- We make the http server listen on port 3000.
+
+If you run `node index.js` you should see the following:
+
+![]()
+
+# Serving HTML
+
+So far in `index.js` we’re calling res.send and passing it a string of HTML. Our code would look very confusing if we just placed our entire application’s HTML there, so instead we're going to create a `index.html` file and serve that instead.
+
+Let’s refactor our route handler to use `sendFile` instead.
+```
+app.get('/', (req, res) => {
+ res.sendFile(__dirname + '/index.html');
+});
+```
+
+# Integrating Socket.IO
+
+Socket.IO is composed of two parts:
+
+1. A server that integrates with (or mounts on) the Node.JS HTTP Server socket.io
+2. A client library that loads on the browser side socket.io-client
+
+During development, `socket.io` serves the client automatically for us, as we’ll see, so for now we only have to install one module:
+
+```
+npm install socket.io
+```
+
+That will install the module and add the dependency to package.json. Now let’s edit index.js to add it:
+
+```
+const express = require('express');
+const app = express();
+const http = require('http');
+const server = http.createServer(app);
+const { Server } = require("socket.io");
+const io = new Server(server);
+
+app.get('/', (req, res) => {
+ res.sendFile(__dirname + '/index.html');
+});
+
+io.on('connection', (socket) => {
+ console.log('a user connected');
+});
+
+server.listen(3000, () => {
+ console.log('listening on *:3000');
+});
+```
+
+Notice that I initialize a new instance of socket.io by passing the server (the HTTP server) object. Then I listen on the connection event for incoming sockets and log it to the console.
+
+Now in index.html add the following snippet before the