now it uses clientx/y instead of pageX/Y