if shards is `null` should this be an `EMPTY_LIST` instead of a new one?