See definition for details.