import re


def tokenize(text):
        """
        tokenize - function to perform tokenization
        Inputs:
                - text : str
        Outputs:
                - text : list of tokens
        """
        # substitue puncutations with whitespace
        text = re.sub(pattern = '[,.!?\\<>]*', repl = '', string = text)

        # strip heading, tailing, and in-middle whitepsace
        text = re.sub(pattern = '\s+', repl = ' ', string = text).strip()

        # split text into tokens by whitespace
        text = text.split(' ')

        return text