add a few functions to manipulate lists