bunch of things, renamed Destination to BaseDestination