adding decorator pattern usage for address