move protected method in bottom and added doc