add pure framework
change click event handling