moved private vars to protected