highlight non-printable characters better
diff --git a/telnet-proxy.c b/telnet-proxy.c
index 82b818b..9e431e8 100644
--- a/telnet-proxy.c
+++ b/telnet-proxy.c
@@ -120,9 +120,9 @@
 		if (buffer[i] == ' ' || (isprint(buffer[i]) && !isspace(buffer[i])))
 			printf("%c", (char)buffer[i]);
 		else if (buffer[i] == '\n')
-			printf("<%02X>\n", (int)buffer[i]);
+			printf("<\e[1m0x%02X\e[22m>\n", (int)buffer[i]);
 		else
-			printf("<%02X>", (int)buffer[i]);
+			printf("<\e[1m0x%02X\e[22m>", (int)buffer[i]);
 	}
 }
 
@@ -191,7 +191,7 @@
 
 	printf("%s SUB %d (%s)", conn->name, (int)type, get_opt(type));
 	if (size > 0) {
-		printf(": ");
+		printf(" [%u]: ", size);
 		print_buffer(buffer, size);
 	}
 	printf("\e[0m\n");
@@ -292,7 +292,7 @@
 	}
 
 	/* initialize connection structs */
-	server.name = "\e[31mSERVER";
+	server.name = "\e[35mSERVER";
 	server.remote = &client;
 	client.name = "\e[34mCLIENT";
 	client.remote = &server;