Itissodifficulttosimplifythiscode