add pop, shift, and multiply, with tests