Junhui's implementation of soft syntax constraint features
Merge branch 'softsyn' into everything