Add the initail code
Remove uneeded class
Rename pull -> push
Add end state
Merge pull request #3 from tom025/master

Add the initail code