divide code for better reading