code explanation