add insert_vec. untested