Abstract definitions.