Changed the fib function to be a generator to make it more readable
more concise and hopefully faster.