someone start a new thread this one is huge.