Shape

Shaping all tied into experiment.
controlled by 'shape' field in config.json
if 'shape' field is absent or not the name of one of the shape blocks, it skips shaping

more can be done with documenting and error catching, but it works for now