better popover behaviour