prototyped fib fn