Arrow API Refactoring