2.1.1 Stack Data Structure Implementation