change visibility to protected