Adding abstract implementation for Address