Refactor.
Refactor.
Refactor.
Merge pull request #21 from serathius/refactor

Refactor