compile collection