return address data dynamically instead of storing it

storing the value in a variable would cause problems when a wrong address is input after a correct one, as the correct one data would be returned
proxy only methods