reorganize, only touch event