use pointercapturing