using the variables `ptr`, `ptrs` and `pts` all so close to each other, is a recipe for disaster...