update api - still not finished