improve collection component