changed private to protected