use ev.offset || ev.layer instead of ev.client
listen and unlisten to mousemove
call app remove on end
finish click and drag test