Implementing a Stack ADT using a linked list