why do we need to do this? I still don't understand why we need all this `cursor: pointer` everywhere? `z-index` issues?