@shrimp Header files are a good thing. Aside from implementation details that they fulfill, the header file system allows very careful control of scope and namespacing without becoming verbose and annoying. They also have the effect of concentrating they layout of your data structures in one compact, easy to find place. Both of these things become very important when you start writing large, complicated programs.