Refactoring in progress.  Not sure it improved yet.