this click listener seems to have a big if/else block. Why can't we add 4 listeners to each of these targets instead ?