set collection methods to virtual with default behaviour implemented