some explanations on the collection part