Improving code architecture 3