Add additional documentation and #![deny(missing_docs)]