further change to use address objects