Refactor and cleanup

* Fixing some bad comments
* Fixing some typos
* Clarifying method names
* Strengthening spec
* Making parameters more consistent