whev, had to convert a lot more in one go than I would liked to, but it was neccessary to make all this still compile