changed private to protected visibility