input: Write a python function to implement a stack with push, pop, and peek methods.
  assert my_stack.peek() == 3
  assert my_stack.pop() == 3
  assert my_stack.pop() == 2
output: class Stack:
      def __init__(self):
          self.items = []
          
      def push(self, item):
          self.items.append(item)
      
      def pop(self):
          if not self.is_empty():
              return self.items.pop()
          return None
      
      def peek(self):
          if not self.is_empty():
              return self.items[-1]
          return None
      
      def is_empty(self):
          return len(self.items) == 0
  
  # Example usage:
  my_stack = Stack()
  my_stack.push(1)
  my_stack.push(2)
  my_stack.push(3)