non-working arrow implementation