Complete refactor with more detail.
Add readmes.
Merge pull request #2 from daylerees/refactor

Refactor to improve readability.