more Refactoring
add click and touch event