API definitions.
First implementation