improve List method