change private to protected to easy extend classes.