basic address implementation