New APIs and refactoring
Refactoring