why protected? is this how all examples are provided in the documentation? just curious since i recently saw a note on changing visibility in other parts