diff --git a/VendServer/CRC.py b/VendServer/CRC.py
index 512a7bdecd59dd2542802b40fcafdaf77825428d..3043e524b4e44d6196e05cc3ae147db82b8bf115 100644
--- a/VendServer/CRC.py
+++ b/VendServer/CRC.py
@@ -1,4 +1,4 @@
-crctab = []
+crctab: list[int] = []
 CRC16 = 0x1021
 
 def do_crc(message, crc = 0):
diff --git a/VendServer/DispenseInterface.py b/VendServer/DispenseInterface.py
index 94b23674d5f186906736b8b194bb220d8c929308..3927e3ec7a06aa1d05737816cdd0d2f782993b91 100644
--- a/VendServer/DispenseInterface.py
+++ b/VendServer/DispenseInterface.py
@@ -65,7 +65,7 @@ class DispenseInterface(object):
 	@param itemId The number entered into the vending machine
 	@return (itemname, price)
 	"""
-	def getItemInfo(itemId):
+	def getItemInfo(self, itemId):
 		pass
 
 	"""
diff --git a/VendServer/DoorClient.py b/VendServer/DoorClient.py
deleted file mode 100755
index 121b563892457c9460274c4a99cfc09df423206d..0000000000000000000000000000000000000000
--- a/VendServer/DoorClient.py
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/python
-
-from .LATClient import LATClient
-from select import select
-import signal
-import sys
-
-def check_door_service(service, test_string="got wombles?"):
-	latclient = LATClient(service=sys.argv[1])
-	latclient.sock.send(test_string)
-	rfh, wfh = latclient.get_fh()
-	wfh.write(test_string)
-	wfh.flush()
-	rr, wr, er = select([rfh], [], [], 10.0)
-	if rfh not in rr: return "open"
-	recv = rfh.read(len(test_string))
-	if recv != test_string: return "error"
-	return "closed"
-
-if __name__ == '__main__':
-	result_codes = { 'open' : 0, 'closed' : 1, 'error' : 2, 'invalid args' : 3}
-	def return_result(result):
-		print(result)
-		sys.exit(result_codes[result])
-	def timeout(signum, frame):
-		return_result("error")
-	if len(sys.argv) != 2: return_result('invalid args')
-	signal.signal(signal.SIGALRM, timeout)
-	signal.alarm(15)
-	return_result(check_door_service(sys.argv[1]))
diff --git a/VendServer/OpenDispense.py b/VendServer/OpenDispense.py
index d227c1c31bea1896be297f46a30bfbe1122e9364..195865777ce1755b6c2c3d94f0f19d87871139dc 100644
--- a/VendServer/OpenDispense.py
+++ b/VendServer/OpenDispense.py
@@ -185,7 +185,7 @@ class OpenDispense(DispenseInterface):
 		logging.info('Enrolling card base64:%s to uid %s (%s)' % (card_base64, self._userId, self._username))
 		conn = self._connect(set_euid=True)
 		if conn is None:
-			logging.warn("Enrolling card failed: Unable to connect".format(rsp))
+			logging.warn("Enrolling card failed: Unable to connect")
 			return False
 		rsp = conn.send_command("CARD_ADD %s" % (card_base64,))
 		if "200" in rsp:
diff --git a/VendServer/VendServer.py b/VendServer/VendServer.py
index 35ca1dca755ecd390a8edcf62487eb46da7d919b..cbc02d2c6cd3a2a73dbc9b38117fcdb2c3dae48d 100755
--- a/VendServer/VendServer.py
+++ b/VendServer/VendServer.py
@@ -14,7 +14,7 @@ from .VendingMachine import VendingMachine, VendingException
 from .MessageKeeper import MessageKeeper
 from .HorizScroll import HorizScroll
 from random import random, seed
-from .Idler import GreetingIdler,TrainIdler,GrayIdler,StringIdler,ClockIdler,FortuneIdler,FileIdler,PipeIdler
+from .Idler import Idler,GreetingIdler,TrainIdler,GrayIdler,StringIdler,ClockIdler,FortuneIdler,FileIdler,PipeIdler
 import socket
 from posix import geteuid
 from .OpenDispense import OpenDispense as Dispense
@@ -126,7 +126,7 @@ class VendServer():
 	vstatus = None
 	state = None
 	event = None
-	idlers = []
+	idlers: list[Idler] = []
 	idler = None
 
 	_pin_uid = 0