Refactor the API.