new proposed API