Switched to UDT

It’s kind of dirty, and needs to be cleaned up, but hey, it works.