replace clientX by offsetX
change structure
change structure