work on collection-specific functions