Implement complete API.