Mostly complete but I still need to compile this beast.