Merge pull request #1 from plamoni/master

sync repo
Merge pull request #3 from cychoi/refactored

Merge pull request #2 from plamoni/master
Merge pull request #4 from cychoi/master

sync repo