private changed to protected