Arrow implementation