change some method from private to protected.