This method needs to be protected