change helper function from private to protected

so it can be overridden more easily (thanks @mkly)