+ added a whole crap ton of TODO