Understanding the code architecture