refactoring Addressing. Broken. Not done yet.