points collection, needs refactor