Wow there are so many different versions of the same code I'm getting kind of tired of testing all of them....