refactoring.  not complete but check in to share.