finished new api