changed public to protected