Update. Still very much unfinished but I will get this done before the deadline.

I hope...