makes collection abstract