Large update

I've been working with this as a server consumer. TBH, it's pretty badly broken in a lot of ways, but I've been trying to move it along to a useable state. Since i don't know/do CS, it's all pure JS.