Add new XML layer
Refactor existing API
Apply changes
WIP