Changes to support field names

Handle case where the string for the source and target field names are
the same but the case is different - like "Test" and "TEST".

Also changed the code at the same time to have just 2 types of extract
functions.