make internal methods protected