I go about solving problems usually by, you know, the first thing I do is I analyze the problem. Learn as much about it as I can. I find that understanding how a problem works, the nature of the problem, I mean, is the most valuable thing you can have about a given problem. And then I, well usually I come up with like the simplest, most straightforward solution. And I try to improve on that, how can I make it more efficient, and how can I do it better. And again, if the problem is particularly intimidating or tough, usually what I'll do is I'll break it into parts, and I'll say, okay, there's this one little part, I know how to do that, and I'll do that. And then I'll just complete little pieces of it one at a time and test those pieces. And, you know, I'll just make separate functions, test each of them, until eventually it all builds into one big, solved problem.