[quote=@Legend] It's because static methods. They have to be instance methods because otherwise, the class looks at static variables length and width. I mean, you could technically pass this into the static method as a parameter, but that's super convoluted. Otherwise, the static method has absolutely no way to see instances of your class. [/quote] Ah, that does make more sense. I figured making new variables would work better, but I totally missed that they were static in the first place. Geez I always feel like I'm back in class when you come up with a much simpler solution. Bad memories of making a long bit of code for something there was a function in the language for. :/