First big commit

Doesn't work yet and im just putting this on here as a backup mostly as
I get the basic stuff done. I've been playing too much dota so its
taking a while