Improvements

Moved some code around, added additional documentation, and made
arguments more consistent for underlying class