protected allows derived class to set