add Reason substance
update program to support Reasoning substance