more generic fib