why do you add these private properties here?