add soft constraints