new api and design