add soft constraints
Merge branch 'develop'