more organized code