Made required private variables/methods to protected