tidy the api