list done
stack done and tested