Source: https://www.itercad.org/Interfaces/Interfaces57.pdf