added maintain_points