added copy list function