From http://www.dataprotocols.org/en/latest/