implementing the stack DS