Updated source and destination to use more factory functions to allow changed properties