functions for arrows