changed internal values/variables to protected access