resolve address argument
finish the first implementation