- some re-arranging