@staticmethod
def fibonacci(starts=None):
    """
        :param: starts is a tuple
            default (0, 1)
        :return: generator function
        """
    if starts is None:
        a, b = 0, 1
    else:
        a, b = starts[0], starts[1]
    while True:
        yield a + b
        a, b = b, a + b
