better event handling, move button url logic into appview