Added check to see if source and target are the same length. Also formatted output to be a little nicer