https://hamyarwp.com/create-custom-pointers/