diff --git a/virtualsnack.py b/virtualsnack.py
index b4a43ae84cdf5cc7b5bc66cfe4c015f538ca81c4..9c035d77d1b04bef17ef5a9a5bcec05b3adeab74 100755
--- a/virtualsnack.py
+++ b/virtualsnack.py
@@ -1,4 +1,6 @@
 #!/usr/bin/env python
+# coding: latin-1
+
 import npyscreen
 from datetime import datetime
 
@@ -72,15 +74,15 @@ class VirtualSnack(npyscreen.Form):
 	self.door = self.add(npyscreen.MultiSelect, name = "Door", max_width=15, relx = 4, rely = 12, max_height=4, value = [], values = ["DOOR"], scroll_exit=True, value_changed_callback=self.parentApp.when_door_toggled)
 
         # The DIP switches
-	self.dip = self.add(npyscreen.MultiSelect, name = "DIP Switch", max_width=10, rely =3, relx = 35, max_height=10, value = [], values = ["DIP1", "DIP2", "DIP3","DIP4","DIP5","DIP6","DIP7","DIP8"], scroll_exit=True)
+	self.dip = self.add(npyscreen.MultiSelect, name = "DIP Switch", max_width=10, rely =3, relx = 30, max_height=10, value = [], values = ["DIP1", "DIP2", "DIP3","DIP4","DIP5","DIP6","DIP7","DIP8"], scroll_exit=True)
 
         # The coin buttons
-	self.nickel=self.add(SnackButtonPress,name="0.05", rely= 3, relx=50)
-	self.dime=self.add(SnackButtonPress,name="0.10", relx=50)
-	self.quarter=self.add(SnackButtonPress,name="0.25", relx=50)
-	self.dollar=self.add(SnackButtonPress,name="1.00", relx=50)
+	self.nickel=self.add(SnackButtonPress,name="0.05", rely= 12, relx=33)
+	self.dime=self.add(SnackButtonPress,name="0.10", relx=33)
+	self.quarter=self.add(SnackButtonPress,name="0.25", relx=33)
+	self.dollar=self.add(SnackButtonPress,name="1.00", relx=33)
         # The mode button
-	self.mode=self.add(SnackButtonPress,name="MODE", relx=50)
+	self.mode=self.add(SnackButtonPress,name="MODE", relx=33)
 
         # Space for the current time
         self.date_widget = self.add(npyscreen.FixedText, value=datetime.now().ctime(), editable=False, rely=18)
@@ -92,10 +94,10 @@ class VirtualSnack(npyscreen.Form):
 
         # The Virtual Vending Machine
         for i in range(10):
-                self.add(npyscreen.FixedText, value=str(i), editable=False, relx=62, rely=4+i)
+                self.add(npyscreen.FixedText, value=str(i), editable=False, relx=47, rely=4+i)
         for slx in range(10):
                 self.slots.append([])
-                xpos = 64 + (slx * 2)
+                xpos = 49 + (slx * 2)
                 self.add(npyscreen.FixedText, value=str(slx), editable=False, relx=xpos, rely=3)
                 for sly in range(10):
                         ypos = 4 + sly
@@ -104,7 +106,35 @@ class VirtualSnack(npyscreen.Form):
                         else:
                                 self.slots[slx].append(self.add(npyscreen.FixedText, value="/", editable=False, relx=xpos, rely=ypos))
 
-        self.collectionslot = self.add(npyscreen.FixedText, value="PUSH", editable=False, relx=70, rely=15)
+        self.collectionslot = self.add(npyscreen.FixedText, value=" " * 8 + "PUSH", editable=False, relx=48, rely=15)
+
+        # Draw some fancy things to make it look fancy
+	# All the big things that can be done in bulk
+	# If you ever need to modify this, see http://en.wikipedia.org/wiki/Box-drawing_character
+	self.add(npyscreen.FixedText, value="???"*28, editable=False, relx=46, rely=2)
+        self.add(npyscreen.FixedText, value="???"*24, editable=False, relx=46, rely=14)
+        self.add(npyscreen.FixedText, value="???"*28, editable=False, relx=46, rely=16)
+	for i in range(3, 18):
+	    for j in [45, 74]:
+                self.add(npyscreen.FixedText, value="???", editable=False, relx=j, rely=i)
+	for i in range(3, 16):
+            self.add(npyscreen.FixedText, value="???", editable=False, relx=69, rely=i)
+	# All the fine details
+	self.add(npyscreen.FixedText, value="???", editable=False, relx=45, rely=2)
+	self.add(npyscreen.FixedText, value="???", editable=False, relx=74, rely=2)
+        self.add(npyscreen.FixedText, value="???", editable=False, relx=69, rely=2)
+        self.add(npyscreen.FixedText, value="???", editable=False, relx=69, rely=16)
+        self.add(npyscreen.FixedText, value="???", editable=False, relx=45, rely=14)
+        self.add(npyscreen.FixedText, value="???", editable=False, relx=45, rely=16)
+        self.add(npyscreen.FixedText, value="???", editable=False, relx=69, rely=14)
+        self.add(npyscreen.FixedText, value="???", editable=False, relx=74, rely=16)
+        self.add(npyscreen.FixedText, value="?????????", editable=False, relx=45, rely=18)
+        self.add(npyscreen.FixedText, value="?????????", editable=False, relx=72, rely=18)
+        self.add(npyscreen.FixedText, value="???", editable=False, relx=47, rely=17)
+        self.add(npyscreen.FixedText, value="???", editable=False, relx=72, rely=17)
+        self.add(npyscreen.FixedText, value="???", editable=False, relx=47, rely=16)
+        self.add(npyscreen.FixedText, value="???", editable=False, relx=72, rely=16)
+
 
         # Ctrl + Q exits the application
 	self.add_handlers({"^Q": self.exit_application})
@@ -140,7 +170,7 @@ class VirtualSnackApp(npyscreen.NPSAppManaged):
         self.switches = Switches()
 	self.textdisplay = "*5N4CK0RZ*"
 
-	self.F = self.addForm("MAIN", VirtualSnack, name="Virtual Snack")
+	self.F = self.addForm("MAIN", VirtualSnack, name="Virtual Snack", columns=80, lines=24)
 	
 	# socket code
     	self.CONNECTION_LIST = []    # list of socket clients