click handler refactor
merge