if ui.sender is empty, use "this"