organized code with regions