replace private with protected