refactoring VSCollection