implement insert, remove, move, and do some benchmarking