replaced private with protected