a little more re-arranging