move protected method to a helper method