too much to say.  still lots to re add. i know this is bad :(