click/tap refactor