make methods protected as well