Refactored arrow handling