list functionality complete