new api structure due to duo