refactor everything

two steps forward and one step back, lets refactor to make this a little
more go-ish.

TODO: i borkd client disconnects