Structuring code (following best practices...  or at least I think so)