Documentation based on 51caa0251cc79bafbf8a9b8fb4dd899d5061690c