reconfigured destinations to conform to a protocol that allows for easy attribute updating