renaming to compare and braking the code up into some functions and added unit test, also added the -m mismatch option.