refactaring collection interface