add base arrow_line function