an OOP excercise: a stack (feature: it's self-resizing)