#4 Improving application structure