added SatisfactionBehavior and update functions