Note: This documentation is working in process. Please help improve it by filing issues or pull requests.