first working version of the address resolution abstraction