improve performance of Arrow widget
silly bugs
um, cleanliness, I think