yeah i agree. TCP shouldn't be made in vb6 anyway, it's too tedious for big projects, especially when multiple people work on it. C# or java is the best choice, but java is too slow for games, so that only leaves c# . With proper comments and source control programming classes shouldn't be that hard. And yeah, design patterns are very useful, but take up quite a bit of overhead in the start, which is for small projects a little too much, but for projects the size of TCP, it's worth the cost. It gives a nice structure, better readability, more reusability that prevents the project from going to one big ball of spaghetti