swtch private -> protected in array collection. Now ArrayCollection can be extendable