New api implementation