private variables and methods added