add list pattern match