changed private scope into protected