collection should define provider instead of type