Organizing api

https://github.com/kfgodel/diamond/issues/84
Organized Impl

https://github.com/kfgodel/diamond/issues/84
Merge pull request #85 from kfgodel/87-organize_code

87 organize code