Refactorize API.