change private vars to protected