Yes location and destination being the same will throw an exception.
Sorry about the hard-codes and lackluster features... it was quick and dirty.
I am neck deep in code with my Mod Manager which will have a full-featured version of this. That is quickly approaching 20k lines of code and that's just for the classes, file parsing, and data access layer. I haven't even gotten started on the UI.
In the software industry there's a cliche that goes: "Good, Fast, and Cheap... pick two."