refactoring to match changes to arrow core library architecture