use properties instead of setters and getters