Changed all private visibility to protected.