it's protected method