restruct code structure
add some components
Merge pull request #11 from huip/master

components