Complete (i think) code for Lifo List