More documentation

Also now respects the options passed in.
Refactored some code, less dot notation misuse.