refactor arrow so that multiple instantiations on different GL buffers works