Made internal methods protected to clean up user API