private -> protected; new methods added