submit code

1. sync SOMDiff
2. Change code sturcture