Expanded documentation

Added description, motivation, code samples, API reference, etc