refactor points and how they're count