Preheat oven to 325 degrees. Grease a 9 x 5 loaf pan.
In a small bowl, combine flour, salt and soda. Set aside.
In a large mixing bowl, cream butter and sugar with a mixer. Add the remaining wet ingredients one at a time until all are combined well.
With your mixer on a slow speed, gradually add the flour mixture until combined fully. Pour batter into the greased loaf pan.
In a small bowl, combine all dry ingredients for the topping. Gradually add the butter (you may not need all of it) until it resembles damp sand. If it gets too wet, add a little more of one of the flours.
Sprinkle the topping mixture on top of the batter in the loaf pan. Bake for 70-80 minutes. Begin checking after about 50 minutes and if it is browning quickly, cover it loosely with aluminum foil. It is done when it resists pressure from lightly touching the center of the loaf. If you let it bake too long, it will get dried out and crumbly. It will continue to cook for several minutes after you remove it from the oven as well.