so much done..way too big a commit, can't describe it :(