these setters should be private