add API, pretty up before release