Feature/shard fm

Allows the ability to shard before a flat map operation