more efficient fibonacci