updated manifest processing to include 'choice' and 'pass', as well as being much more sophisticated as far as flexibility is concerned