new machanism.
new machanism almost done, merge to master first.
Merge pull request #2 from cherry-wb/new-mechanism

New mechanism merge in to master.