Code cleanup.
Added API docs. Fixes issue #38.
Bumped up to v2.3