move some methods to protected
New documents on github