This is a bit of a messy/challenging merge I\'m trying to do here, and I have not been able to find a StackOverflow question applicable to this situation, so here goes:
D