implemented list::splice methods, with tests