Version 2. Now calling out singleton and collections seperately