choice branch (should be taged as v2.0)
Merge Choice into Soma