Implemented new shard function that takes all regions at once, compiling and untested.