diff --git a/rdg.go b/rdg.go
index 2c86d28e6c0fc3ff4d7a2dd1df1ae60b1f79355a..55bdb67dd0f387559916f17c086044f795333aa0 100644
--- a/rdg.go
+++ b/rdg.go
@@ -188,7 +188,6 @@ func handleWebsocketProtocol(conn *websocket.Conn) {
 			log.Printf("Error read: %s", err)
 			break
 		}
-		log.Printf("Message type: %d, message: %x", mt, msg)
 
 		// check for fragments
 		var pt uint16
@@ -199,14 +198,14 @@ func handleWebsocketProtocol(conn *websocket.Conn) {
 			pt, sz, pkt, err = readHeader(msg)
 			if err != nil {
 				// fragment received
-				log.Printf("Received non websocket fragment")
+				// log.Printf("Received non websocket fragment")
 				fragment = true
 				index = copy(buf, msg)
 				continue
 			}
 			index = 0
 		} else {
-			log.Printf("Dealing with fragment")
+			//log.Printf("Dealing with fragment")
 			fragment = false
 			pt, sz, pkt, _ = readHeader(append(buf[:index], msg...))
 		}
@@ -229,11 +228,16 @@ func handleWebsocketProtocol(conn *websocket.Conn) {
 			conn.WriteMessage(mt, msg)
 		case PKT_TYPE_CHANNEL_CREATE:
 			server, port := readChannelCreateRequest(pkt)
-			remote, err = net.Dial("tcp", net.JoinHostPort(server, strconv.Itoa(int(port))))
+			log.Printf("Establishing connection to RDP server: %s on port %d", server, port)
+			remote, err = net.DialTimeout(
+				"tcp",
+				net.JoinHostPort(server, strconv.Itoa(int(port))),
+				time.Second * 15)
 			if err != nil {
 				log.Printf("Error connecting to %s, %d, %s", server, port, err)
 				return
 			}
+			log.Printf("Connection established")
 			msg := createChannelCreateResponse()
 			log.Printf("Create channel create response: %x", msg)
 			conn.WriteMessage(mt, msg)
@@ -325,19 +329,16 @@ func handleLegacyProtocol(w http.ResponseWriter, r *http.Request) {
 					pt, sz, pkt, err = readHeader(msg[:n])
 					if err != nil {
 						// fragment received
-						log.Printf("Received non websocket fragment")
 						fragment = true
 						index = copy(buf, msg[:n])
 						continue
 					}
 					index = 0
 				} else {
-					log.Printf("Dealing with fragment")
 					fragment = false
 					pt, sz, pkt, _ = readHeader(append(buf[:index], msg[:n]...))
 				}
 
-				log.Printf("Scanned packet got packet type %x size %d", pt, sz)
 				switch pt {
 				case PKT_TYPE_HANDSHAKE_REQUEST:
 					major, minor, _, auth := readHandshake(pkt)
@@ -353,12 +354,16 @@ func handleLegacyProtocol(w http.ResponseWriter, r *http.Request) {
 					s.ConnOut.Write(msg)
 				case PKT_TYPE_CHANNEL_CREATE:
 					server, port := readChannelCreateRequest(pkt)
-					var err error
-					remote, err = net.Dial("tcp", net.JoinHostPort(server, strconv.Itoa(int(port))))
+					log.Printf("Establishing connection to RDP server: %s on port %d", server, port)
+					remote, err = net.DialTimeout(
+						"tcp",
+						net.JoinHostPort(server, strconv.Itoa(int(port))),
+						time.Second * 15)
 					if err != nil {
 						log.Printf("Error connecting to %s, %d, %s", server, port, err)
 						return
 					}
+					log.Printf("Connection established")
 					msg := createChannelCreateResponse()
 					s.ConnOut.Write(msg)
 
@@ -577,10 +582,10 @@ func handleWebsocketData(rdp net.Conn, mt int, conn *websocket.Conn) {
 	defer rdp.Close()
 	b1 := new(bytes.Buffer)
 	buf := make([]byte, 4086)
+
 	for {
 		n, err := rdp.Read(buf)
 		binary.Write(b1, binary.LittleEndian, uint16(n))
-		log.Printf("RDP SIZE: %d", n)
 		if err != nil {
 			log.Printf("Error reading from conn %s", err)
 			break