v1 works for nonempty list......
add empty list condition