switch to using an address instead of its 3 component variables