add impl.
modify gitignore.
fix bug.
add -std=c++11 to Makefile.
add comments.
add impl.
a bit refractoring.