First pass at more detailed documentation

Fixes #21